e5f624dbbe3f8fae20c20ee3f1353ebf96c16372.svn-base 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. <template>
  2. <div class="main">
  3. <el-card class="box-card">
  4. <div slot="header" class="clearfix">
  5. <el-form :inline="true" :model="searchForm" class="demo-form-inline">
  6. <el-form-item label="单位名称">
  7. <el-input v-model="searchForm.wintName" clearble placeholder="单位名称"></el-input>
  8. </el-form-item>
  9. <el-form-item>
  10. <el-button type="primary" @click="searchBtn">查询</el-button>
  11. </el-form-item>
  12. <el-form-item style="float:right;">
  13. <el-button type="primary" @click="addQsk" v-if="openType">添加取水口</el-button>
  14. </el-form-item>
  15. </el-form>
  16. </div>
  17. <div class="text item">
  18. <el-table
  19. ref="qskTable"
  20. border
  21. v-loading="loading"
  22. :height="400"
  23. :data="qskList"
  24. style="width: 100%">
  25. <el-table-column prop="wintCode" label="取水口编码" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  26. <el-table-column prop="wintName" label="取水口名称" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  27. <el-table-column prop="adName" label="行政区划名称" show-overflow-tooltip min-width="120" align="center"></el-table-column>
  28. <el-table-column prop="wintPos" label="取水口位置" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  29. <el-table-column
  30. prop="status"
  31. label="督查状态"
  32. align="center"
  33. min-width="130">
  34. <template slot-scope="scope">
  35. <span
  36. style="padding: 3px 10px;background:#F56C6C;border-radius:15px;color:rgba(255,255,255,1)"
  37. v-if="scope.row.status == 0 || scope.row.status==null"
  38. >未督查</span>
  39. <span
  40. style="padding: 3px 10px;background:#FBB56D;border-radius:15px;color:rgba(255,255,255,1)"
  41. v-if="scope.row.status == 1"
  42. >督查中</span>
  43. <span
  44. style="padding: 3px 10px;background:#63C25E;border-radius:15px;color:rgba(255,255,255,1)"
  45. v-if="scope.row.status == 2"
  46. >已督查</span>
  47. </template>
  48. </el-table-column>
  49. <el-table-column align="center" label="操作" min-width="150" fixed="right" v-if="ownPriv('manage') && openType">
  50. <template slot-scope="scope">
  51. <el-button size="mini" type="success" @click="dcBtn(scope.row)" v-if="scope.row.state!='2' && openType">督查</el-button>
  52. <el-button size="mini" type="danger" @click="delBtn(scope.row)" v-if="scope.row.state!='2' && openType">删除</el-button>
  53. </template>
  54. </el-table-column>
  55. </el-table>
  56. <el-pagination background :pager-count="5" :current-page="pageNum"
  57. :page-size="pageSize" :page-sizes="[10, 20, 30, 40, 50, 100]"
  58. layout="sizes, total, prev, pager, next" :total="total"
  59. @current-change="pageChange"
  60. ></el-pagination>
  61. </div>
  62. </el-card>
  63. <el-dialog
  64. class="outerDialog custom_dialog"
  65. :title="'添加取水口'"
  66. width="60%"
  67. :visible.sync="addVisible"
  68. :close-on-click-modal="false"
  69. v-if="addVisible"
  70. :modal-append-to-body="true"
  71. :append-to-body="true"
  72. @close="closeDialog">
  73. <div style="width: 100%;margin-bottom: 20px;">
  74. <el-form :inline="true" :model="qskSearch" ref="qskSearch" label-width="100px" class="demo-form-inline">
  75. <el-form-item label="取水口名称">
  76. <el-input type="text" v-model="qskSearch.wintName" clearable placeholder="取水口名称"></el-input>
  77. </el-form-item>
  78. <el-form-item>
  79. <el-button type="primary" @click="searchBtn1">查询</el-button>
  80. </el-form-item>
  81. <el-form-item>
  82. <el-button type="primary" @click="showAddNewObj">新增</el-button>
  83. </el-form-item>
  84. <el-form-item style="float:right;">
  85. <el-button type="primary" @click="addQskSelect" v-if="openType">批量添加取水口到督查</el-button>
  86. </el-form-item>
  87. </el-form>
  88. <div>
  89. <el-table
  90. ref="allQskTable"
  91. border
  92. v-loading="loading1"
  93. :height="500"
  94. :data="qskList1"
  95. style="width: 100%"
  96. @selection-change="handleSelectionChange">
  97. <el-table-column
  98. type="selection"
  99. width="55">
  100. </el-table-column>
  101. <el-table-column prop="wintCode" label="取水口编码" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  102. <el-table-column prop="wintName" label="取水口名称" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  103. <el-table-column prop="adName" label="行政区划名称" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  104. <el-table-column prop="wintPos" label="取水口位置" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  105. <el-table-column prop="wainType" label="取水口类型" show-overflow-tooltip min-width="100" align="center">
  106. <template slot-scope="scope">
  107. <span v-if="scope.row.wainType=='1'">单一用户取水口</span>
  108. <span v-if="scope.row.wainType=='2'">多用户公用取水口</span>
  109. </template>
  110. </el-table-column>
  111. <el-table-column prop="wainIntName" label="取水工程名称" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  112. <el-table-column prop="wainIntType" label="取水工程类型" show-overflow-tooltip min-width="100" align="center">
  113. <template slot-scope="scope">
  114. <span v-if="scope.row.wainIntType=='1'">渠道</span>
  115. <span v-if="scope.row.wainIntType=='2'">人工河道</span>
  116. <span v-if="scope.row.wainIntType=='3'">虹吸管</span>
  117. <span v-if="scope.row.wainIntType=='4'">泵站</span>
  118. <span v-if="scope.row.wainIntType=='5'">闸</span>
  119. <span v-if="scope.row.wainIntType=='6'">从江河湖泊饮水的水库</span>
  120. <span v-if="scope.row.wainIntType=='7'">其他</span>
  121. </template>
  122. </el-table-column>
  123. <el-table-column prop="wainWasoName" label="取水水源名称" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  124. <el-table-column prop="wainWasoType" label="取水水源类型" show-overflow-tooltip min-width="100" align="center">
  125. <template slot-scope="scope">
  126. <span v-if="scope.row.wainWasoType=='1'">河道内的水库</span>
  127. <span v-if="scope.row.wainWasoType=='2'">湖泊</span>
  128. <span v-if="scope.row.wainWasoType=='3'">河流</span>
  129. <span v-if="scope.row.wainWasoType=='4'">跨省引调水工程</span>
  130. <span v-if="scope.row.wainWasoType=='5'">地下水</span>
  131. <span v-if="scope.row.wainWasoType=='9'">其他</span>
  132. </template>
  133. </el-table-column>
  134. </el-table>
  135. <el-pagination background :pager-count="5" :current-page="pageNum1"
  136. :page-size="pageSize1" :page-sizes="[10, 20, 30, 40, 50, 100]"
  137. layout="sizes, total, prev, pager, next" :total="total1"
  138. @current-change="pageChange1"
  139. ></el-pagination>
  140. </div>
  141. </div>
  142. <el-dialog
  143. class="outerDialog custom_dialog"
  144. :title="'新增取水口'"
  145. width="60%"
  146. :visible.sync="addNewVisible"
  147. :close-on-click-modal="false"
  148. v-if="addNewVisible"
  149. :modal-append-to-body="true"
  150. :append-to-body="true"
  151. @close="closeDialog1">
  152. <div style="width: 100%;">
  153. <el-form :model="addNewObj" ref="addNewObj" label-width="200px">
  154. <el-form-item label="取水口编码">
  155. <el-input type="text" v-model="addNewObj.wintCode" clearable placeholder="请输入取水口编码" style="width:60%;"></el-input>
  156. </el-form-item>
  157. <el-form-item label="取水口名称">
  158. <el-input type="text" v-model="addNewObj.wintName" clearable placeholder="请输入取水口名称" style="width:60%;"></el-input>
  159. </el-form-item>
  160. <el-form-item label="行政区划" style="position: relative">
  161. <el-input
  162. v-model="addNewObj.adName"
  163. autocomplete="off"
  164. @focus="showMenuTree = true"
  165. auto-complete="off"
  166. readonly
  167. style="width:60%;"
  168. ></el-input>
  169. <provTreeList
  170. style="width:300px;"
  171. v-if="showMenuTree"
  172. :rootCode="rootCode"
  173. :rootType="rootType"
  174. @provTreeSelectChange="provTreeSelectChangeHandler"
  175. ></provTreeList>
  176. </el-form-item>
  177. <el-form-item label="取水口位置">
  178. <el-input type="text" v-model="addNewObj.wintPos" clearable placeholder="请输入取水口位置" style="width:60%;"></el-input>
  179. </el-form-item>
  180. <el-form-item label="所在水资源一级区名称">
  181. <el-input type="text" v-model="addNewObj.locWrz1rdName" clearable placeholder="请输入所在水资源一级区名称" style="width:60%;"></el-input>
  182. </el-form-item>
  183. <el-form-item label="所在水资源二级区名称">
  184. <el-input type="text" v-model="addNewObj.locWrz2rdName" clearable placeholder="请输入所在水资源二级区名称" style="width:60%;"></el-input>
  185. </el-form-item>
  186. <el-form-item label="所在水资源三级区名称">
  187. <el-input type="text" v-model="addNewObj.locWrz3rdName" clearable placeholder="请输入所在水资源三级区名称" style="width:60%;"></el-input>
  188. </el-form-item>
  189. <el-form-item label="取水口类型">
  190. <el-select v-model="addNewObj.wainType" clearable>
  191. <el-option label="单一用户取水口" value="1"></el-option>
  192. <el-option label="多用户公用取水口" value="2"></el-option>
  193. </el-select>
  194. </el-form-item>
  195. <el-form-item label="水行政主管部门名称">
  196. <el-input type="text" v-model="addNewObj.charDepNm" clearable placeholder="请输入水行政主管部门名称" style="width:60%;"></el-input>
  197. </el-form-item>
  198. <el-form-item label="单位联系人名称">
  199. <el-input type="text" v-model="addNewObj.charDepPers" clearable placeholder="请输入单位联系人名称" style="width:60%;"></el-input>
  200. </el-form-item>
  201. <el-form-item label="主管部门联系电话">
  202. <el-input type="text" v-model="addNewObj.charDepTel" clearable placeholder="请输入主管部门联系电话" style="width:60%;"></el-input>
  203. </el-form-item>
  204. <el-form-item label="取水工程名称">
  205. <el-input type="text" v-model="addNewObj.wainIntName" clearable placeholder="请输入取水工程名称" style="width:60%;"></el-input>
  206. </el-form-item>
  207. <el-form-item label="取水工程类型">
  208. <el-select v-model="addNewObj.wainIntType" clearable>
  209. <el-option label="渠道" value="1"></el-option>
  210. <el-option label="人工河道" value="2"></el-option>
  211. <el-option label="虹吸管" value="3"></el-option>
  212. <el-option label="泵站" value="4"></el-option>
  213. <el-option label="闸" value="5"></el-option>
  214. <el-option label="从江河湖泊饮水的水库" value="6"></el-option>
  215. <el-option label="其他" value="7"></el-option>
  216. </el-select>
  217. </el-form-item>
  218. <el-form-item label="取水水源类型">
  219. <el-select v-model="addNewObj.wainWasoType" clearable>
  220. <el-option label="河道内的水库" value="1"></el-option>
  221. <el-option label="湖泊" value="2"></el-option>
  222. <el-option label="河流" value="3"></el-option>
  223. <el-option label="跨省引调水工程" value="4"></el-option>
  224. <el-option label="地下水" value="5"></el-option>
  225. <el-option label="其他" value="9"></el-option>
  226. </el-select>
  227. </el-form-item>
  228. <el-form-item label="取水水源名称">
  229. <el-input type="text" v-model="addNewObj.wainWasoName" clearable placeholder="请输入取水水源名称" style="width:60%;"></el-input>
  230. </el-form-item>
  231. <el-form-item label="设计最大取水流量(m3/s)">
  232. <el-input type="text" v-model="addNewObj.desQ" clearable placeholder="请输入设计最大取水流量(m3/s)" style="width:60%;"></el-input>
  233. </el-form-item>
  234. <el-form-item label="设计日最大取水量(m3/s)">
  235. <el-input type="text" v-model="addNewObj.desDayQ" clearable placeholder="请输入设计日最大取水量(m3/s)" style="width:60%;"></el-input>
  236. </el-form-item>
  237. <el-form-item label="设计年取水量(万m3/年)">
  238. <el-input type="text" v-model="addNewObj.desYearQ" clearable placeholder="请输入设计年取水量(万m3/年)" style="width:60%;"></el-input>
  239. </el-form-item>
  240. <el-form-item label="经度">
  241. <el-input type="text" v-model="addNewObj.centerX" clearable placeholder="请输入经度" style="width:60%;"></el-input>
  242. </el-form-item>
  243. <el-form-item label="纬度">
  244. <el-input type="text" v-model="addNewObj.centerY" clearable placeholder="请输入纬度" style="width:60%;"></el-input>
  245. </el-form-item>
  246. </el-form>
  247. <span slot="footer" style="text-align: center;display: block;padding-bottom: 10px;">
  248. <el-button style="margin-top:5px;" type="primary" @click="addNewBtn">确定</el-button>
  249. </span>
  250. </div>
  251. </el-dialog>
  252. </el-dialog>
  253. <el-dialog
  254. class="outerDialog custom_dialog"
  255. :title="qskDialogT+'取水口'"
  256. width="60%"
  257. :visible.sync="qskDialogVisible"
  258. :close-on-click-modal="false"
  259. v-if="qskDialogVisible"
  260. :modal-append-to-body="true"
  261. :append-to-body="true"
  262. @close="closeDialog2">
  263. <qsktb @dcSuccess="dcSuccess" v-if="qskDialogVisible" :currentObjectId="currentObjectId" :currentObjectName="currentObjectName" :currentObjectRgstrId="currentObjectRgstrId" :openType="openType" :qskId="qskId" :qskNm="qskNm"></qsktb>
  264. </el-dialog>
  265. </div>
  266. </template>
  267. <script>
  268. import provTreeList from "../../../widgets/provTreeList";
  269. import request from '../../../utils/gw_ajax_request.js'
  270. import qsktb from './qsktb'
  271. export default {
  272. components: {
  273. provTreeList,
  274. qsktb
  275. },
  276. props: ['currentObjectId','currentObjectName','currentObjectRgstrId','openType'],
  277. data() {
  278. return {
  279. loading:false,
  280. pageNum:1,
  281. pageSize:10,
  282. total:0,
  283. loading1:false,
  284. pageNum1:1,
  285. pageSize1:10,
  286. total1:0,
  287. addVisible:false,
  288. addNewVisible:false,
  289. qskList:[],
  290. qskList1:[],
  291. selectList:[],
  292. showMenuTree:false,
  293. rootCode: "000000",
  294. rootType: "2",
  295. qskDialogT:"",
  296. qskId:"",
  297. qskNm:"",
  298. qskDialogVisible:false,
  299. searchForm:{
  300. wintName:""
  301. },
  302. qskSearch:{
  303. wintName:""
  304. },
  305. addNewObj:{
  306. wintCode:"",
  307. wintName:"",
  308. adCode:"",
  309. adName:"",
  310. wintPos:"",
  311. locWrz1rdName:"",
  312. locWrz2rdName:"",
  313. locWrz3rdName:"",
  314. wainType:"",
  315. charDepNm:"",
  316. charDepPers:"",
  317. charDepTel:"",
  318. wainIntName:"",
  319. wainIntType:"",
  320. wainWasoType:"",
  321. wainWasoName:"",
  322. desQ:"",
  323. desDayQ:"",
  324. desYearQ:"",
  325. centerX:"",
  326. centerY:""
  327. }
  328. }
  329. },
  330. computed:{
  331. recPersId(){
  332. return localStorage.getItem("userid")? localStorage.getItem("userid"): ''
  333. }
  334. },
  335. created(){
  336. },
  337. mounted() {
  338. this.getQskList();
  339. },
  340. watch: {
  341. },
  342. methods: {
  343. dcSuccess(){
  344. this.getQskList();
  345. },
  346. dcBtn(row){
  347. this.qskDialogT = row.wintName;
  348. this.qskNm = row.wintName;
  349. this.qskId = row.id;
  350. this.qskDialogVisible = true;
  351. },
  352. addNewBtn(){
  353. if(!this.addNewObj.wintCode){
  354. this.$message.warning('取水口编码不能为空');
  355. return;
  356. }
  357. if(!this.addNewObj.wintName){
  358. this.$message.warning('取水口名称不能为空');
  359. return;
  360. }
  361. if(!this.addNewObj.adCode){
  362. this.$message.warning('行政区划不能为空');
  363. return;
  364. }
  365. var _self = this;
  366. var obj = this.addNewObj;
  367. request.post('/att/wint/base/b', obj).then((res) => {
  368. if(res.success) {
  369. _self.$message.success('添加成功');
  370. _self.addNewVisible = false;
  371. _self.addNewObj = {};
  372. _self.getQskList1();
  373. }else{
  374. _self.$message.error(res.message);
  375. }
  376. });
  377. },
  378. showAddNewObj(){
  379. this.addNewVisible = true;
  380. },
  381. provTreeSelectChangeHandler: function(params) {
  382. this.$set(this.addNewObj,'adName',params.name);
  383. this.$set(this.addNewObj,'adCode',params.code);
  384. },
  385. addQskSelect(){
  386. if(this.selectList && this.selectList.length>0){
  387. for(var i = 0;i<this.selectList.length;i++){
  388. this.selectList[i].rgstrId = this.currentObjectRgstrId;
  389. this.selectList[i].wintId = this.selectList[i].id;
  390. }
  391. var _self = this;
  392. request.post('/bis/insp/wiuqh/wint/insert',this.selectList).then((res) => {
  393. if(res.success) {
  394. _self.$message.success('添加成功');
  395. _self.getQskList1();
  396. _self.getQskList();
  397. }else{
  398. _self.$message.error(res.message);
  399. }
  400. _self.$nextTick(() => {
  401. _self.$refs.allQskTable.clearSelection();
  402. });
  403. });
  404. }else{
  405. this.$message.warning('请选择数据');
  406. }
  407. },
  408. searchBtn1(){
  409. this.getQskList1();
  410. },
  411. handleSelectionChange(val){
  412. this.selectList = val;
  413. },
  414. addQsk(){
  415. this.addVisible = true;
  416. this.getQskList1();
  417. },
  418. closeDialog(){
  419. this.addVisible = false;
  420. },
  421. closeDialog1(){
  422. this.addNewVisible = false;
  423. },
  424. closeDialog2(){
  425. this.qskDialogVisible = false;
  426. },
  427. searchBtn(){
  428. this.getQskList();
  429. },
  430. delBtn(row){
  431. var _self = this;
  432. this.$confirm('此操作将单位从列表中删除,确认删除该单位吗?', '提示', {
  433. confirmButtonText: '确定',
  434. cancelButtonText: '取消',
  435. type: 'warning'
  436. }).then(() => {
  437. request.post('/bis/insp/wiuqh/wint/delete/'+row.id).then((res)=>{
  438. if(res.success){
  439. _self.getQskList();
  440. _self.$message.success('删除成功')
  441. }else{
  442. _self.$message.error(res.message)
  443. }
  444. });
  445. })
  446. },
  447. getQskList(){
  448. var _self = this;
  449. this.loading = true;
  450. var obj = this.searchForm;
  451. obj.pageNum = this.pageNum;
  452. obj.pageSize = this.pageSize;
  453. obj.rgstrId = this.currentObjectRgstrId;
  454. request.post('/bis/insp/wiuqh/wint/findPage', obj).then((res) => {
  455. if(res.success) {
  456. _self.qskList = res.data.list;
  457. _self.total = 10;
  458. _self.loading = false;
  459. }else{
  460. _self.$message.error(res.message);
  461. }
  462. });
  463. },
  464. getQskList1(){
  465. var _self = this;
  466. this.loading1 = true;
  467. var obj = this.qskSearch;
  468. obj.pageNum = this.pageNum1;
  469. obj.pageSize = this.pageSize1;
  470. obj.rgstrId = this.currentObjectRgstrId;
  471. request.post('/bis/insp/wiuqh/wint/findBaseInfo', obj).then((res) => {
  472. if(res.success) {
  473. _self.qskList1 = res.data.list;
  474. _self.total1 = 10;
  475. _self.loading1 = false;
  476. }else{
  477. _self.$message.error(res.message);
  478. }
  479. _self.$nextTick(() => {
  480. _self.$refs.allQskTable.clearSelection();
  481. });
  482. });
  483. },
  484. pageChange(val){
  485. this.pageNum = val;
  486. this.getQskList();
  487. },
  488. pageChange1(val){
  489. this.pageNum1 = val;
  490. this.getQskList1();
  491. }
  492. },
  493. }
  494. </script>
  495. <style scoped>
  496. .main .box-card /deep/ .el-card__header{
  497. padding: 0;
  498. }
  499. .main .demo-form-inline /deep/ .el-form-item{
  500. margin-bottom: 0;
  501. padding: 10px 10px;
  502. }
  503. </style>