2f877964c834bce792e8981d18b3e8ce5bd4543a.svn-base 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. <template>
  2. <j-modal
  3. :title="title"
  4. :width="width"
  5. :visible="visible"
  6. :confirmLoading="confirmLoading"
  7. switchFullscreen
  8. @ok="handleOk"
  9. :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
  10. @cancel="handleCancel"
  11. cancelText="关闭">
  12. <a-tabs default-active-key="attrs" @change="tabsChange">
  13. <a-tab-pane key="attrs" tab="属性信息">
  14. <a-spin :spinning="confirmLoading">
  15. <j-form-container :disabled="disableSubmit">
  16. <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
  17. <a-row>
  18. <a-col :span="12">
  19. <a-form-model-item label="河道名称" :labelCol="labelCol" :wrapperCol="wrapperCol"
  20. prop="hdmc">
  21. <a-input v-model="hdmc" placeholder="请输入河道名称" disabled></a-input>
  22. </a-form-model-item>
  23. </a-col>
  24. <a-col :span="12">
  25. <a-form-model-item label="断面桩号" :labelCol="labelCol" :wrapperCol="wrapperCol"
  26. prop="dmzh">
  27. <a-input v-model="model.dmzh" placeholder="请输入断面桩号"
  28. @change="autoGenDmmc"></a-input>
  29. </a-form-model-item>
  30. </a-col>
  31. <a-col :span="12">
  32. <a-form-model-item label="断面名称" :labelCol="labelCol" :wrapperCol="wrapperCol"
  33. prop="dmmc">
  34. <a-input v-model="model.dmmc" placeholder="请输入断面名称" disabled></a-input>
  35. </a-form-model-item>
  36. </a-col>
  37. <a-col :span="12">
  38. <a-form-model-item label="断面别名" :labelCol="labelCol" :wrapperCol="wrapperCol"
  39. prop="dmbm">
  40. <a-input v-model="model.dmbm" placeholder="请输入断面别名" ></a-input>
  41. </a-form-model-item>
  42. </a-col>
  43. <a-col :span="12">
  44. <a-form-model-item label="显示顺序" :labelCol="labelCol" :wrapperCol="wrapperCol"
  45. prop="yxjxs">
  46. <a-input-number v-model="model.yxjxs" placeholder="请输入断面显示顺序" style="width: 100%" ></a-input-number>
  47. </a-form-model-item>
  48. </a-col>
  49. <a-col :span="12">
  50. <a-form-model-item label="流域面积" :labelCol="labelCol" :wrapperCol="wrapperCol"
  51. prop="lymj">
  52. <a-input-number v-model="model.lymj" placeholder="请输入断面以上流域面积" style="width: 100%"/>
  53. </a-form-model-item>
  54. </a-col>
  55. <a-col :span="12">
  56. <a-form-model-item label="断面中心经度" :labelCol="labelCol" :wrapperCol="wrapperCol"
  57. prop="jd">
  58. <a-input v-model="model.jd" placeholder="请输入断面中心经度" ></a-input>
  59. </a-form-model-item>
  60. </a-col>
  61. <a-col :span="12">
  62. <a-form-model-item label="断面中心纬度" :labelCol="labelCol" :wrapperCol="wrapperCol"
  63. prop="wd">
  64. <a-input v-model="model.wd" placeholder="请输入断面中心纬度" ></a-input>
  65. </a-form-model-item>
  66. </a-col>
  67. <a-col :span="12">
  68. <a-form-model-item label="防洪标准" :labelCol="labelCol" :wrapperCol="wrapperCol"
  69. prop="fhbz">
  70. <a-input v-model="model.fhbz" placeholder="请输入防洪标准"></a-input>
  71. </a-form-model-item>
  72. </a-col>
  73. <a-col :span="12">
  74. <a-form-model-item label="除涝标准" :labelCol="labelCol" :wrapperCol="wrapperCol"
  75. prop="clbz">
  76. <a-input v-model="model.clbz" placeholder="请输入除涝标准"></a-input>
  77. </a-form-model-item>
  78. </a-col>
  79. <a-col :span="12">
  80. <a-form-model-item label="防洪流量" :labelCol="labelCol" :wrapperCol="wrapperCol"
  81. prop="fhll">
  82. <a-input-number v-model="model.fhll" placeholder="请输入防洪流量" style="width: 100%"/>
  83. </a-form-model-item>
  84. </a-col>
  85. <a-col :span="12">
  86. <a-form-model-item label="除涝流量" :labelCol="labelCol" :wrapperCol="wrapperCol"
  87. prop="clll">
  88. <a-input v-model="model.clll" placeholder="请输入除涝流量" style="width: 100%"/>
  89. </a-form-model-item>
  90. </a-col>
  91. <a-col :span="12">
  92. <a-form-model-item label="防洪水位(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  93. prop="fhsw">
  94. <a-input-number v-model="model.fhsw" placeholder="请输入防洪水位(m)"
  95. style="width: 100%"/>
  96. </a-form-model-item>
  97. </a-col>
  98. <a-col :span="12">
  99. <a-form-model-item label="除涝水位(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  100. prop="clsw">
  101. <a-input v-model="model.clsw" placeholder="请输入除涝水位(m)"
  102. style="width: 100%"/>
  103. </a-form-model-item>
  104. </a-col>
  105. <a-col :span="12">
  106. <a-form-model-item label="河道比降" :labelCol="labelCol" :wrapperCol="wrapperCol"
  107. prop="hdbj">
  108. <a-input-number v-model="model.hdbj" placeholder="请输入河道比降" style="width: 100%"/>
  109. </a-form-model-item>
  110. </a-col>
  111. <a-col :span="12">
  112. <a-form-model-item label="河底宽(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  113. prop="hdk">
  114. <a-input-number v-model="model.hdk" placeholder="请输入河底宽(m)"
  115. style="width: 100%"/>
  116. </a-form-model-item>
  117. </a-col>
  118. <a-col :span="12">
  119. <a-form-model-item label="河道边坡" :labelCol="labelCol" :wrapperCol="wrapperCol"
  120. prop="hdbp">
  121. <a-input v-model="model.hdbp" placeholder="请输入河道边坡"></a-input>
  122. </a-form-model-item>
  123. </a-col>
  124. <a-col :span="12">
  125. <a-form-model-item label="河底高程(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  126. prop="hdgc">
  127. <a-input v-model="model.hdgc" placeholder="请输入河底高程(m)"
  128. style="width: 100%"/>
  129. </a-form-model-item>
  130. </a-col>
  131. <a-col :span="12">
  132. <a-form-model-item label="堤内坡比" :labelCol="labelCol" :wrapperCol="wrapperCol"
  133. prop="dnpb">
  134. <a-input v-model="model.dnpb" placeholder="请输入堤内坡比"></a-input>
  135. </a-form-model-item>
  136. </a-col>
  137. <a-col :span="12">
  138. <a-form-model-item label="堤外坡比" :labelCol="labelCol" :wrapperCol="wrapperCol"
  139. prop="dwpb">
  140. <a-input v-model="model.dwpb" placeholder="请输入堤外坡比"></a-input>
  141. </a-form-model-item>
  142. </a-col>
  143. <a-col :span="12">
  144. <a-form-model-item label="左堤顶高程(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  145. prop="zddgc">
  146. <a-input-number v-model="model.zddgc" placeholder="请输入左堤顶高程(m)"
  147. style="width: 100%"/>
  148. </a-form-model-item>
  149. </a-col>
  150. <a-col :span="12">
  151. <a-form-model-item label="右堤顶高程(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  152. prop="yddgc">
  153. <a-input-number v-model="model.yddgc" placeholder="请输入右堤顶高程(m)"
  154. style="width: 100%"/>
  155. </a-form-model-item>
  156. </a-col>
  157. <a-col :span="12">
  158. <a-form-model-item label="左堤顶宽(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  159. prop="zddk">
  160. <a-input v-model="model.zddk" placeholder="请输入左堤顶宽(m)"
  161. style="width: 100%"/>
  162. </a-form-model-item>
  163. </a-col>
  164. <a-col :span="12">
  165. <a-form-model-item label="右堤顶宽(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  166. prop="yddk">
  167. <a-input v-model="model.yddk" placeholder="请输入右堤顶宽(m)"
  168. style="width: 100%"/>
  169. </a-form-model-item>
  170. </a-col>
  171. <a-col :span="12">
  172. <a-form-model-item label="左滩地高程(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  173. prop="ztdgc">
  174. <a-input-number v-model="model.ztdgc" placeholder="请输入左滩地高程(m)"
  175. style="width: 100%"/>
  176. </a-form-model-item>
  177. </a-col>
  178. <a-col :span="12">
  179. <a-form-model-item label="右滩地高程(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  180. prop="ytdgc">
  181. <a-input-number v-model="model.ytdgc" placeholder="请输入右滩地高程(m)"
  182. style="width: 100%"/>
  183. </a-form-model-item>
  184. </a-col>
  185. <a-col :span="12">
  186. <a-form-model-item label="左滩地宽度(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  187. prop="ztdkd">
  188. <a-input-number v-model="model.ztdkd" placeholder="请输入左滩地宽度(m)"
  189. style="width: 100%"/>
  190. </a-form-model-item>
  191. </a-col>
  192. <a-col :span="12">
  193. <a-form-model-item label="右滩地宽度(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  194. prop="ytdkd">
  195. <a-input-number v-model="model.ytdkd" placeholder="请输入右滩地宽度(m)"
  196. style="width: 100%"/>
  197. </a-form-model-item>
  198. </a-col>
  199. <a-col :span="12">
  200. <a-form-model-item label="堤外地面高程(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  201. prop="dwdmgc">
  202. <a-input-number v-model="model.dwdmgc" placeholder="请输入堤外地面高程(m)"
  203. style="width: 100%"/>
  204. </a-form-model-item>
  205. </a-col>
  206. <a-col :span="12">
  207. <a-form-model-item label="弃土区宽度(m)" :labelCol="labelCol" :wrapperCol="wrapperCol"
  208. prop="qtqkd">
  209. <a-input-number v-model="model.qtqkd" placeholder="请输入弃土区宽度(m)"
  210. style="width: 100%"/>
  211. </a-form-model-item>
  212. </a-col>
  213. <a-col :span="12">
  214. <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol"
  215. prop="bz">
  216. <a-textarea v-model="model.bz" rows="4" placeholder="请输入备注"/>
  217. </a-form-model-item>
  218. </a-col>
  219. <a-col :span="12">
  220. <a-form-model-item label="横断面图片" :labelCol="labelCol" :wrapperCol="wrapperCol"
  221. prop="hdmtp">
  222. <j-image-upload isMultiple v-model="model.hdmtp"></j-image-upload>
  223. </a-form-model-item>
  224. </a-col>
  225. </a-row>
  226. </a-form-model>
  227. </j-form-container>
  228. </a-spin>
  229. </a-tab-pane>
  230. <a-tab-pane key="map" tab="位置信息">
  231. <basic-map ref="locMap" layersUrl='/resManager.catalog/rescatalog/resList'
  232. :model="{...model,layerName:'河道横断面,管理范围线'}"></basic-map>
  233. </a-tab-pane>
  234. </a-tabs>
  235. </j-modal>
  236. </template>
  237. <script>
  238. import {httpAction} from '@/api/manage'
  239. import {validateDuplicateValue} from '@/utils/util'
  240. import BasicMap from "@comp/BasicMap/BasicMap";
  241. export default {
  242. name: "RmPmtxxModal",
  243. components: {
  244. BasicMap
  245. },
  246. props: {
  247. mainId: {
  248. type: String,
  249. required: false,
  250. default: ''
  251. },
  252. hdmc: {
  253. type: String,
  254. required: false,
  255. default: ''
  256. },
  257. //表单禁用
  258. disabled: {
  259. type: Boolean,
  260. default: false,
  261. required: false
  262. }
  263. },
  264. data() {
  265. return {
  266. title: "操作",
  267. width: 800,
  268. visible: false,
  269. model: {},
  270. labelCol: {
  271. xs: {span: 24},
  272. sm: {span: 5},
  273. },
  274. wrapperCol: {
  275. xs: {span: 24},
  276. sm: {span: 16},
  277. },
  278. disableSubmit: false,
  279. confirmLoading: false,
  280. validatorRules: {},
  281. url: {
  282. add: "/hzz.xxgl.hdmx/rmHdmxb/addRmPmtxx",
  283. edit: "/hzz.xxgl.hdmx/rmHdmxb/editRmPmtxx",
  284. }
  285. }
  286. },
  287. created() {
  288. //备份model原始值
  289. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  290. this.modelDefault.hdmc = this.hdmc;
  291. },
  292. methods: {
  293. add() {
  294. this.edit(this.modelDefault);
  295. },
  296. edit(record) {
  297. this.model = Object.assign({}, record);
  298. this.visible = true;
  299. },
  300. close() {
  301. this.$emit('close');
  302. this.visible = false;
  303. this.$refs.form.clearValidate();
  304. },
  305. handleOk() {
  306. const that = this;
  307. // 触发表单验证
  308. this.$refs.form.validate(valid => {
  309. if (valid) {
  310. that.confirmLoading = true;
  311. let httpurl = '';
  312. let method = '';
  313. if (!this.model.id) {
  314. httpurl += this.url.add;
  315. method = 'post';
  316. } else {
  317. httpurl += this.url.edit;
  318. method = 'post';
  319. }
  320. this.model['rvid'] = this.mainId;
  321. this.model['hdmc'] = this.hdmc;
  322. httpAction(httpurl, this.model, method).then((res) => {
  323. if (res.success) {
  324. that.$message.success(res.message);
  325. that.$emit('ok');
  326. } else {
  327. that.$message.warning(res.message);
  328. }
  329. }).finally(() => {
  330. that.confirmLoading = false;
  331. that.close();
  332. })
  333. } else {
  334. return false
  335. }
  336. })
  337. },
  338. handleCancel() {
  339. this.close()
  340. },
  341. autoGenDmmc() {
  342. this.model.dmmc = this.hdmc + " " + this.model.dmzh;
  343. },
  344. tabsChange(key) {
  345. if (key == "map") {
  346. this.$nextTick(() => {
  347. this.$refs.locMap.locateByCoords({...this.model});
  348. })
  349. }
  350. }
  351. }
  352. }
  353. </script>