2f15e198e339b7d9340361ae6961a4eaf2aa61af.svn-base 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. <template>
  2. <div>
  3. <el-container>
  4. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  5. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">信息填报</p>
  6. <el-form :model="formObj" :label-width="formLabelWidth">
  7. <p style="margin-top:10px;margin-bottom: 10px;overflow: hidden;"><i class="el-icon-caret-right"></i><span
  8. style="width:120px;padding-left: 10px">基本信息</span><span class="hrs"></span>
  9. <el-button type="warning" style="float: right;" @click="recentAppearance">近期面貌</el-button>
  10. <el-button type="warning" style="float: right; margin-right: 10px;" @click="imageClick">影像</el-button>
  11. <el-button type="warning" style="float: right; margin-right: 10px;" @click="nowCheckBtn">现场检查上传</el-button>
  12. </p>
  13. <el-form-item label="工程名称" required>
  14. <el-input v-model="formObj.prjName" autocomplete="off" style="width:70%;" readonly="readonly"></el-input>
  15. </el-form-item>
  16. <el-form-item label="工程规模" required>
  17. <el-select v-model="formObj.prjType" placeholder="请选择" style="width:70%;">
  18. <el-option label="规模化水厂" value="规模化水厂"></el-option>
  19. <el-option label="万人以下" value="万人以下"></el-option>
  20. <el-option label="千人以下" value="千人以下"></el-option>
  21. <el-option label="百人以下" value="百人以下"></el-option>
  22. </el-select>
  23. </el-form-item>
  24. <el-form-item label="行政区划" required >
  25. <div v-if="showLocSelect">
  26. <el-select v-model="provName" placeholder="选择省" @change="provChange" style="width:20%">
  27. <el-option
  28. v-for="item in provList"
  29. :key="item.adCode"
  30. :label="item.adName"
  31. :value="item.adCode">
  32. </el-option>
  33. </el-select>
  34. <el-select v-model="cityName" placeholder="选择市" @change="cityChange" style="width:20%">
  35. <el-option
  36. v-for="item in cityList"
  37. :key="item.adCode"
  38. :label="item.adName"
  39. :value="item.adCode">
  40. </el-option>
  41. </el-select>
  42. <el-select v-model="countryName" placeholder="选择县" @change="countryChange" style="width:20%">
  43. <el-option
  44. v-for="item in countryList"
  45. :key="item.adCode"
  46. :label="item.adName"
  47. :value="item.adCode">
  48. </el-option>
  49. </el-select>
  50. &#x3000;<span v-if="showLocSelect" @click="showLocSelect = false"
  51. style="color: #009fff;font-size:12px;cursor:pointer">取消</span>
  52. </div>
  53. <div v-else>
  54. <el-input v-model="formObj.adName" readonly autocomplete="off"
  55. style="width:70%;"></el-input>&#x3000;<span @click="showLocSelect = true" v-if="openType"
  56. style="color: #009fff;font-size:12px;cursor:pointer">更改</span>
  57. </div>
  58. </el-form-item>
  59. <el-form-item label="工程所在地">
  60. <el-input v-model="formObj.siteOfPrj" autocomplete="off" style="width:70%;"></el-input>
  61. </el-form-item>
  62. <el-form-item label="供水规模(立方米/天)">
  63. <el-input v-model="formObj.waterScale" autocomplete="off" style="width:70%;"></el-input>
  64. </el-form-item>
  65. <el-form-item label="年实际供水量(立方米)">
  66. <el-input v-model="formObj.waterYield" autocomplete="off" style="width:70%;"></el-input>
  67. </el-form-item>
  68. <el-form-item label="供水人数(人)">
  69. <el-input v-model="formObj.desWsp" autocomplete="off" style="width:70%;"></el-input>
  70. </el-form-item>
  71. <el-form-item label="供水到户人数(人)">
  72. <el-input v-model="formObj.actWsp" autocomplete="off" style="width:70%;"></el-input>
  73. </el-form-item>
  74. <el-form-item label="水源类型">
  75. <el-select v-model="formObj.wtType" placeholder="请选择" style="width:70%;">
  76. <el-option label="地表水" value="1"></el-option>
  77. <el-option label="地下水" value="2"></el-option>
  78. <el-option label="联合水源" value="3"></el-option>
  79. <el-option label="其他" value="0"></el-option>
  80. </el-select>
  81. </el-form-item>
  82. <el-form-item label="水源名称">
  83. <el-input v-model="formObj.wtName" autocomplete="off" style="width:70%;"></el-input>
  84. </el-form-item>
  85. <el-form-item label="净化方式">
  86. <el-select v-model="formObj.purificationWay" placeholder="请选择" style="width:70%;">
  87. <el-option label="无" value=""></el-option>
  88. <el-option label="常规处理" value="1"></el-option>
  89. <el-option label="常规处理+深度处理" value="2"></el-option>
  90. <el-option label="仅过滤" value="3"></el-option>
  91. <el-option label="膜处理" value="4"></el-option>
  92. <el-option label="特殊处理(除铁锰)" value="5"></el-option>
  93. <el-option label="一体化净水器" value="6"></el-option>
  94. <el-option label="预处理+常规处理" value="7"></el-option>
  95. <el-option label="预处理+常规处理+深度处理" value="8"></el-option>
  96. <el-option label="其他" value="0"></el-option>
  97. </el-select>
  98. </el-form-item>
  99. <el-form-item label="消毒方式">
  100. <el-select v-model="formObj.disinfectionWay" placeholder="请选择" style="width:70%;">
  101. <el-option label="无" value=""></el-option>
  102. <el-option label="臭氧" value="1"></el-option>
  103. <el-option label="次氯酸钠" value="2"></el-option>
  104. <el-option label="二氧化氯" value="3"></el-option>
  105. <el-option label="两种或以上混合消毒" value="4"></el-option>
  106. <el-option label="漂白粉漂粉精等消毒药片" value="5"></el-option>
  107. <el-option label="液氯" value="6"></el-option>
  108. <el-option label="紫外线" value="7"></el-option>
  109. <el-option label="其他" value="0"></el-option>
  110. </el-select>
  111. </el-form-item>
  112. <el-form-item label="工程运行管理单位名称">
  113. <el-input v-model="formObj.prjUnitName" autocomplete="off" style="width:70%;"></el-input>
  114. </el-form-item>
  115. <el-form-item label="供水单位及联系电话">
  116. <el-input v-model="formObj.waterUnitPhone" autocomplete="off" style="width:70%;"></el-input>
  117. </el-form-item>
  118. <el-form-item label="工程运行管理单位性质">
  119. <el-input v-model="formObj.prjUnitNature" autocomplete="off" style="width:70%;"></el-input>
  120. </el-form-item>
  121. <el-form-item label="供水单位责任人姓名">
  122. <el-input v-model="formObj.waterUnitLeaderName" autocomplete="off" style="width:70%;"></el-input>
  123. </el-form-item>
  124. <el-form-item label="供水单位责任人联系电话">
  125. <el-input v-model="formObj.waterUnitLeaderPhone" autocomplete="off" style="width:70%;"></el-input>
  126. </el-form-item>
  127. <el-form-item label="供水维修服务电话">
  128. <el-input v-model="formObj.maintainPhone" autocomplete="off" style="width:70%;"></el-input>
  129. </el-form-item>
  130. <el-form-item label="经度">
  131. <el-input v-model="formObj.centerX" autocomplete="off" style="width:70%;"></el-input>
  132. </el-form-item>
  133. <el-form-item label="纬度">
  134. <el-input v-model="formObj.centerY" autocomplete="off" style="width:70%;"></el-input>
  135. </el-form-item>
  136. <el-form-item label="" style="text-align: center">
  137. <!-- <el-button @click="cancelHandler">取 消</el-button> -->
  138. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  139. </el-form-item>
  140. </el-form>
  141. </el-main>
  142. </el-container>
  143. <theRecentAppearance v-if="xcztShow" @jqmmDialogClose="jqmmDialog" :jqmmShow="xcztShow" :openType="openType"
  144. :jqmmEngId="currentObjectRgstrId" :dialogTitle="currentObjectName + '近期面貌'"
  145. style="z-index: 9999;"></theRecentAppearance>
  146. <nowCheck v-if="xcztShow1" @jqmmDialogClose="jqmmDialogNow" :jqmmShow="xcztShow1" type="onSite" :openType="openType"
  147. :jqmmEngId="currentObjectRgstrId" :dialogTitle="currentObjectName + '现场检查资料'"
  148. style="z-index: 9999;"></nowCheck>
  149. <!--影像弹窗-->
  150. <el-dialog :title="currentObjectName + '影像'" :visible.sync="imageShow" append-to-body :close-on-click-modal="false"
  151. width="60%">
  152. <div style="height: 60vh;">
  153. <mapLocation ref="mapRef" v-if="imageShow" :gdX="formObj.centerX" :gdY="formObj.centerY"></mapLocation>
  154. </div>
  155. </el-dialog>
  156. </div>
  157. </template>
  158. <script>
  159. import inputWith from "@widget/inuptWith.vue"
  160. import request from "@util/gw_ajax_request.js"
  161. import theRecentAppearance from '../../duChaDuiXiang/theRecentAppearance'
  162. import nowCheck from '../../duChaDuiXiang/nowCheck'
  163. import unlimitDatePicker from '@baseWidget/unLimitdatePicker.vue'
  164. import mapLocation from '../mapLocation'
  165. import {
  166. getrgstrIdObject_rdwpgd_state
  167. } from "@api/duChaTianBao.js"
  168. import {
  169. dateFormat
  170. } from "@util/gw_date.js"
  171. export default {
  172. components: {
  173. inputWith: inputWith,
  174. unlimitDatePicker: unlimitDatePicker,
  175. theRecentAppearance,
  176. mapLocation,
  177. nowCheck
  178. },
  179. props: ['id','currentObjectRgstrId', 'currentResCode', 'currentObjectId', 'currentObjectName','openType'],
  180. data() {
  181. return {
  182. formObj: {
  183. prjName:"",
  184. prjType:"",
  185. adCode:"",
  186. adName:"",
  187. siteOfPrj:"",
  188. waterScale:"",
  189. waterYield:"",
  190. desWsp:"",
  191. actWsp:"",
  192. wtType:"",
  193. wtName:"",
  194. purificationWay:"",
  195. disinfectionWay:"",
  196. prjUnitName:"",
  197. waterUnitPhone:"",
  198. prjUnitNature:"",
  199. waterUnitLeaderName:"",
  200. waterUnitLeaderPhone:"",
  201. maintainPhone:""
  202. },
  203. dialogFormVisible: false,
  204. formLabelWidth: '200px',
  205. loading: true,
  206. operationType1: '',
  207. currentResCode1: '',
  208. currentObjectId1: '',
  209. value1: '',
  210. provList: [],
  211. cityList: [],
  212. countryList: [],
  213. provName: '',
  214. cityName: '',
  215. countryName: '',
  216. provNames: '',
  217. cityNames: '',
  218. countryNames: '',
  219. curSelectItem: 0,
  220. showLocSelect: false,
  221. locat: {
  222. location: "",
  223. admDiv: ""
  224. },
  225. xcztShow: false,
  226. xcztShow1: false,
  227. imageShow: false,
  228. xcztEngId: '',
  229. centerX: 0,
  230. centerY: 0
  231. }
  232. },
  233. computed: {
  234. recPersId() {
  235. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  236. }
  237. },
  238. mounted() {
  239. this.currentResCode1 = this.currentResCode;
  240. this.currentObjectId1 = this.currentObjectId;
  241. this.getRgstridObj();
  242. this.getAreaList()
  243. },
  244. watch: {
  245. id(n, o) {
  246. this.getRgstridObj();
  247. },
  248. showLocSelect(val) {
  249. if (!val) {
  250. this.formObj.rvLoc = this.locat.location
  251. this.formObj.admDiv = this.locat.admDiv
  252. this.provName = ''
  253. this.cityName = ''
  254. this.countryName = ''
  255. }
  256. }
  257. },
  258. methods: {
  259. getRgstridObj() {
  260. var _self = this;
  261. getrgstrIdObject_rdwpgd_state(_self.currentObjectRgstrId).then(
  262. (res) => {
  263. if (res.data) {
  264. _self.formObj = res.data;
  265. } else {
  266. _self.formObj = {};
  267. }
  268. },
  269. (err) => {
  270. }
  271. );
  272. },
  273. addHandler() {
  274. var _self = this;
  275. _self.formObj['persId'] = _self.recPersId;
  276. _self.formObj.objId = _self.currentObjectId1;
  277. try {
  278. this.$confirm('确认保存基础信息?', '提示', {
  279. confirmButtonText: '确定',
  280. cancelButtonText: '取消',
  281. type: 'warning'
  282. }).then(() => {
  283. request.post('/bis/insp/rdwpgd', _self.formObj).then((res) => {
  284. if (res.success) {
  285. _self.$emit("addShuiKuSuccess",_self.formObj.prjType);
  286. _self.showLocSelect = false
  287. _self.getRgstridObj()
  288. _self.$message.success("修改成功");
  289. } else {
  290. _self.$emit('cancelHandler');
  291. }
  292. });
  293. })
  294. } catch (e) {
  295. }
  296. },
  297. cancelHandler() {
  298. this.$emit('cancelHandler');
  299. },
  300. formatRadio(val) {
  301. if (val == '1') {
  302. return '是'
  303. } else if (val == '0') {
  304. return '否'
  305. } else {
  306. return val
  307. }
  308. },
  309. getAreaList(val) {
  310. let areaParams = {
  311. adName: "",
  312. id: this.dczId,
  313. pageNum: 1,
  314. pageSize: 10000
  315. }
  316. let adCode = ''
  317. if (!val) {
  318. adCode = '000000000000'
  319. } else {
  320. adCode = val
  321. }
  322. request.get('/dc/ad/base/getAdData', {params: {'adCode': adCode}}).then(res => {
  323. if (res.success) {
  324. if (this.curSelectItem == 1) {
  325. this.cityList = res.data
  326. } else if (this.curSelectItem == 2) {
  327. this.countryList = res.data
  328. } else {
  329. this.provList = res.data
  330. }
  331. }
  332. })
  333. },
  334. provChange(val) {
  335. this.curSelectItem = 1
  336. this.formObj.adCode = val
  337. this.cityName = ''
  338. this.countryName = ''
  339. this.formObj.admDiv = val
  340. this.provList.forEach(ele => {
  341. if (ele.adCode == this.provName) {
  342. this.provNames = ele.adName
  343. }
  344. })
  345. this.formObj.adName = this.provNames
  346. this.getAreaList(val)
  347. },
  348. RsvrTypeChange(val) {
  349. },
  350. cityChange(val) {
  351. this.curSelectItem = 2
  352. if (val && val != '') {
  353. this.formObj.admDiv = val
  354. this.formObj.adCode = val
  355. this.countryName = ''
  356. this.cityList.forEach(ele => {
  357. if (ele.adCode == this.cityName) {
  358. this.cityNames = ele.adName
  359. }
  360. })
  361. this.formObj.adName = this.provNames + this.cityNames
  362. this.getAreaList(val)
  363. }
  364. },
  365. countryChange(val) {
  366. if (val && val != '') {
  367. this.formObj.adCode = val
  368. this.formObj.admDiv = val
  369. this.countryList.forEach(ele => {
  370. if (ele.adCode == this.countryName) {
  371. this.countryNames = ele.adName
  372. }
  373. })
  374. this.formObj.adName = this.provNames + this.cityNames + this.countryNames
  375. }
  376. },
  377. // 近期面貌
  378. recentAppearance() {
  379. this.xcztShow = true;
  380. },
  381. nowCheckBtn(){
  382. this.xcztShow1 = true;
  383. },
  384. jqmmDialog() {
  385. this.xcztShow = false;
  386. },
  387. jqmmDialogNow(){
  388. this.xcztShow1 = false;
  389. },
  390. //影像
  391. imageClick() {
  392. if (!this.formObj.centerX && !this.formObj.centerY) {
  393. this.$message.warning('暂无经纬度信息!');
  394. return false;
  395. }
  396. this.imageShow = true;
  397. }
  398. },
  399. }
  400. </script>
  401. <style>
  402. #dcdxHeader {
  403. padding: 15px 20px;
  404. }
  405. #dxdcFooter {
  406. text-align: center;
  407. }
  408. #dxdcAside {
  409. border: 1px solid #d5d5ff;
  410. }
  411. .el-dialog__wrapper .el-treeWhite {
  412. /* max-height: 260px !important; */
  413. }
  414. </style>