f02e5ed8b20c8ded453bc0168367d0dd779d0b83.svn-base 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  1. <template>
  2. <div class="ygl_wrapper">
  3. <el-container style="height:520px;">
  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="addObj" :label-width="formLabelWidth" ref="ruleForm" :rules="rules">
  7. <p style=";margin-top:10px;margin-bottom: 10px">
  8. <i class="el-icon-caret-right"></i>
  9. <span style="width:120px;padding-left: 10px">基本情况</span>
  10. <span class="hrs"></span>
  11. </p>
  12. <el-form-item label="工程名称">
  13. <el-tooltip placement="top">
  14. <div slot="content">无正式名称的可按村名+工程类型临时取名</div>
  15. <i class="el-icon-question"></i>
  16. </el-tooltip>
  17. <!-- code -->
  18. <el-input type="text" v-model="addObj.name" class="span200"></el-input>
  19. </el-form-item>
  20. <!-- <el-form-item label="调研地点(*县*乡*村)">
  21. <el-input type="text" v-model="addObj.adName"></el-input>
  22. <admin-division-com
  23. :currentObjectRgstrId="currentObjectRgstrId"
  24. :rootCode="currentResCode"
  25. :currentObjectName="currentObjectName" @currentDivision="currentDivision">
  26. </admin-division-com>
  27. </el-form-item> -->
  28. <el-form-item label="项目来源(建设部门)">
  29. <el-select v-model="addObj.sour" multiple>
  30. <el-option v-for="item in projectSourceList" :key="item.value" :label="item.label"
  31. :value="item.value"></el-option>
  32. </el-select>
  33. </el-form-item>
  34. <el-form-item label="其他" v-if="addObj.sour == '7'">
  35. <el-input type="text" v-model="addObj.sourNote"></el-input>
  36. </el-form-item>
  37. <el-form-item label="建成时间">
  38. <el-radio v-model="addObj.isCurryearComp" label="1">2000年之前</el-radio>
  39. <el-radio v-model="addObj.isCurryearComp" label="2">2000年之后</el-radio>
  40. </el-form-item>
  41. <el-form-item v-if="addObj.isCurryearComp == '1'">
  42. <el-select v-model="addObj.beforeCurryearComp" clearable>
  43. <el-option v-for="item in beforeCurryearList" :label="item.label" :value="item.value"
  44. :key="item.value"></el-option>
  45. </el-select>
  46. </el-form-item>
  47. <el-form-item v-if="addObj.isCurryearComp == '2'">
  48. <el-date-picker
  49. v-model="addObj.afterCurryearComp"
  50. type="year"
  51. value-format="yyyy"
  52. placeholder="选择年">
  53. </el-date-picker>
  54. </el-form-item>
  55. <el-form-item label="所在灌区">
  56. <irri-area-list-com @irriChange="irriChange" :rootAdCode="currentResCode"
  57. :irriId="addObj.irrCode"></irri-area-list-com>
  58. </el-form-item>
  59. <el-form-item label="渠道长度(m)">
  60. <el-input type="text" v-model="addObj.chanLen"></el-input>
  61. </el-form-item>
  62. <el-form-item label="控制灌溉面积(亩)">
  63. <el-input type="text" v-model="addObj.irrArea"></el-input>
  64. </el-form-item>
  65. <el-form-item label="最大过水流量(m3/s)">
  66. <el-input type="text" v-model="addObj.totFlow"></el-input>
  67. </el-form-item>
  68. <el-form-item label="是否属于高标准农田">
  69. <el-radio v-model="addObj.higStnType" label="1">是</el-radio>
  70. <el-radio v-model="addObj.higStnType" label="2">否</el-radio>
  71. <el-radio v-model="addObj.higStnType" label="3">部分属于</el-radio>
  72. </el-form-item>
  73. <el-form-item label="因工程问题导致原先可灌溉但现在无法灌溉的面积(亩)">
  74. <el-input type="text" v-model="addObj.prjPbmArea"></el-input>
  75. </el-form-item>
  76. <p style=";margin-top:10px;margin-bottom: 10px">
  77. <i class="el-icon-caret-right"></i>
  78. <span style="width:120px;padding-left: 10px">工程产权和管护情况</span>
  79. <span class="hrs"></span>
  80. </p>
  81. <el-form-item label="工程所有权人">
  82. <el-select v-model="addObj.prjWhoTend" clearable>
  83. <el-option v-for="item in prjWhoTendList" :key="item.value" :label="item.label"
  84. :value="item.value"></el-option>
  85. </el-select>
  86. </el-form-item>
  87. <el-form-item label="工程使用权">
  88. <el-select v-model="addObj.prjUsrType" clearable>
  89. <el-option v-for="item in prjUsrTypeList" :key="item.value" :label="item.label"
  90. :value="item.value"></el-option>
  91. </el-select>
  92. </el-form-item>
  93. <el-form-item label="管护主体">
  94. <el-select v-model="addObj.whoTend" clearable>
  95. <el-option v-for="item in whoTendList" :key="item.value" :label="item.label"
  96. :value="item.value"></el-option>
  97. </el-select>
  98. </el-form-item>
  99. <el-form-item label="管护记录">
  100. <el-radio v-model="addObj.isTendRcrd" label="1">有</el-radio>
  101. <el-radio v-model="addObj.isTendRcrd" label="2">无</el-radio>
  102. </el-form-item>
  103. <el-form-item label="管护记录情况" v-if="addObj.isTendRcrd == '1'">
  104. <el-radio v-model="addObj.tendRcrdType" label="1">好</el-radio>
  105. <el-radio v-model="addObj.tendRcrdType" label="2">一般</el-radio>
  106. <el-radio v-model="addObj.tendRcrdType" label="3">差</el-radio>
  107. </el-form-item>
  108. <p style=";margin-top:10px;margin-bottom: 10px">
  109. <i class="el-icon-caret-right"></i>
  110. <span style="width:120px;padding-left: 10px">工程状况</span>
  111. <span class="hrs"></span>
  112. </p>
  113. <el-form-item label="灌溉水是否能到达田间">
  114. <el-radio v-model="addObj.isWtrFarm" label="1">是</el-radio>
  115. <el-radio v-model="addObj.isWtrFarm" label="2">否</el-radio>
  116. <el-button
  117. v-if="addObj.isWtrFarm == '2'"
  118. @click="addProblemList('isWtrFarm')"
  119. type="text">
  120. <i class="el-icon-circle-plus"></i>
  121. </el-button>
  122. </el-form-item>
  123. <el-form-item label="灌溉水不能到达田间原因" v-if="addObj.isWtrFarm == '2'">
  124. <el-select v-model="addObj.wtrNotFarm" multiple>
  125. <el-option v-for="item in wtrNotFarmList" :key="item.value" :label="item.label"
  126. :value="item.value"></el-option>
  127. </el-select>
  128. </el-form-item>
  129. <el-form-item label="其他"
  130. v-if="addObj.isWtrFarm == '2' && addObj.wtrNotFarm && addObj.wtrNotFarm.includes('4')">
  131. <el-input type="text" v-model="addObj.wtrNotFarmNote"></el-input>
  132. </el-form-item>
  133. <el-form-item label="调查渠道明显损坏、坍塌长度(m)">
  134. <el-input type="text" v-model="addObj.dstyLen"></el-input>
  135. </el-form-item>
  136. <el-form-item label="调查渠道明显淤堵长度(m)">
  137. <el-input type="text" v-model="addObj.siltationLen"></el-input>
  138. </el-form-item>
  139. <el-form-item label="调查渠道衬砌长度(m)">
  140. <el-input type="text" v-model="addObj.liningLen"></el-input>
  141. </el-form-item>
  142. <el-form-item label="供水是否及时">
  143. <el-radio v-model="addObj.isWtrOntm" label="1">是</el-radio>
  144. <el-radio v-model="addObj.isWtrOntm" label="2">否</el-radio>
  145. <el-button
  146. v-if="addObj.isWtrOntm == '2'"
  147. @click="addProblemList('isWtrOntm')"
  148. type="text">
  149. <i class="el-icon-circle-plus"></i>
  150. </el-button>
  151. </el-form-item>
  152. <el-form-item label="放水、分水控制设施是否配备">
  153. <el-radio v-model="addObj.wtrFclty" label="1">是</el-radio>
  154. <el-radio v-model="addObj.wtrFclty" label="2">否</el-radio>
  155. <el-button
  156. v-if="addObj.wtrFclty == '2'"
  157. @click="addProblemList('wtrFclty')"
  158. type="text">
  159. <i class="el-icon-circle-plus"></i>
  160. </el-button>
  161. <el-radio v-model="addObj.wtrFclty" label="3">不涉及</el-radio>
  162. </el-form-item>
  163. <el-form-item label="斗口或取水口是否有量水设施设备">
  164. <el-radio v-model="addObj.isWainFclty" label="1">是</el-radio>
  165. <el-radio v-model="addObj.isWainFclty" label="2">否</el-radio>
  166. <el-button
  167. v-if="addObj.isWainFclty == '2'"
  168. @click="addProblemList('isWainFclty')"
  169. type="text">
  170. <i class="el-icon-circle-plus"></i>
  171. </el-button>
  172. </el-form-item>
  173. <el-form-item label="量水设施设备是否能使用" v-if="addObj.isWainFclty == '1'">
  174. <el-radio v-model="addObj.msurWtrUse" label="1">是</el-radio>
  175. <el-radio v-model="addObj.msurWtrUse" label="2">否</el-radio>
  176. <el-button
  177. v-if="addObj.msurWtrUse == '2'"
  178. @click="addProblemList('msurWtrUse')"
  179. type="text">
  180. <i class="el-icon-circle-plus"></i>
  181. </el-button>
  182. <el-radio v-model="addObj.msurWtrUse" label="3">不涉及</el-radio>
  183. </el-form-item>
  184. <el-form-item label="渠系建筑物结构是否完整完好">
  185. <el-radio v-model="addObj.chanFull" label="1">是</el-radio>
  186. <el-radio v-model="addObj.chanFull" label="2">否</el-radio>
  187. <el-button
  188. v-if="addObj.chanFull == '2'"
  189. @click="addProblemList('chanFull')"
  190. type="text">
  191. <i class="el-icon-circle-plus"></i>
  192. </el-button>
  193. <el-radio v-model="addObj.chanFull" label="3">不涉及</el-radio>
  194. </el-form-item>
  195. <el-form-item label="配套建筑(交叉建筑物等)是否完好">
  196. <el-radio v-model="addObj.matingFull" label="1">是</el-radio>
  197. <el-radio v-model="addObj.matingFull" label="2">否</el-radio>
  198. <el-button
  199. v-if="addObj.matingFull == '2'"
  200. @click="addProblemList('matingFull')"
  201. type="text">
  202. <i class="el-icon-circle-plus"></i>
  203. </el-button>
  204. <el-radio v-model="addObj.matingFull" label="3">不涉及</el-radio>
  205. </el-form-item>
  206. <p style=";margin-top:10px;margin-bottom: 10px">
  207. <i class="el-icon-caret-right"></i>
  208. <span style="width:120px;padding-left: 10px">工程状况总体评价</span>
  209. <span class="hrs"></span>
  210. </p>
  211. <el-form-item label="总体评价">
  212. <el-radio v-model="addObj.evaluate" label="1">好</el-radio>
  213. <el-radio v-model="addObj.evaluate" label="2">一般</el-radio>
  214. <el-radio v-model="addObj.evaluate" label="3">较差</el-radio>
  215. </el-form-item>
  216. <p style=";margin-top:10px;margin-bottom: 10px">
  217. <i class="el-icon-caret-right"></i>
  218. <span style="width:120px;padding-left: 10px">意见建议或需要说明的情况</span>
  219. <span class="hrs"></span>
  220. </p>
  221. <el-form-item label="意见和建议">
  222. <el-input type="textarea" v-model="addObj.note"></el-input>
  223. </el-form-item>
  224. <el-form-item label>
  225. <el-button type="primary" @click="makesure">保 存</el-button>
  226. </el-form-item>
  227. </el-form>
  228. </el-main>
  229. <problem-list
  230. v-if="showProblemList"
  231. :showProblemList='showProblemList'
  232. :currentObjectId="currentObjectId"
  233. :currentObjectName="currentObjectName"
  234. :problemMiddleType="'灌区最后一公里'"
  235. :problData="probId"
  236. :rowId="rowId"
  237. @dialogFormVisible="getdialogFormVisible"
  238. :currentObjectRgstrId="currentObjectRgstrId"
  239. :rowData="rowData"
  240. :adFullName="adFullName"
  241. :projectName="addObj.name"
  242. ></problem-list>
  243. </el-container>
  244. </div>
  245. </template>
  246. <script>
  247. import request from "@util/gw_ajax_request.js";
  248. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  249. import problemList from '../../addProlemMidForm/yigongliProblemList'
  250. import {getIrrChanApi} from '@api/duChaTianBao.js'
  251. import unlimitDatePicker from '@baseWidget/unLimitdatePicker.vue'
  252. import adminDivisionCom from './components/adminDivisionCom'
  253. import irriAreaListCom from './components/irriAreaListCom'
  254. import {hostUrl} from '@util/global_variable'
  255. export default {
  256. props: ['currentObjectId', 'currentObjectName', 'currentObjectRgstrId', 'currentResCode', 'rowData', 'rowId', 'adFullName'],
  257. components: {
  258. problemDialog,
  259. problemList,
  260. unlimitDatePicker,
  261. adminDivisionCom,
  262. irriAreaListCom,
  263. upload: resolve => {
  264. require(["@widget/uploadPdf.vue"], resolve);
  265. }
  266. },
  267. data() {
  268. var checkTel = (rule, value, callback) => {
  269. var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/; //座机
  270. var isPhoneNum = /^([0-9]{3,4})?[0-9]{7,8}$/; //座机
  271. var isMob = /^[1][3,4,5,7,8][0-9]{9}$/; // 座机格式
  272. if (value && !isMob.test(value) && !isPhone.test(value) && !isPhoneNum.test(value)) {
  273. callback(new Error('请输入合理电话'));
  274. } else {
  275. callback();
  276. }
  277. };
  278. return {
  279. dialogFormVisible: false,
  280. formLabelWidth: "220px",
  281. loading: true,
  282. addObj: {},
  283. projectSourceList: [
  284. {label: '水利', value: '1'},
  285. {label: '国土', value: '2'},
  286. {label: '发改', value: '3'},
  287. {label: '农业', value: '4'},
  288. {label: '财政(原农发)', value: '5'},
  289. {label: '烟草', value: '6'},
  290. {label: '其他', value: '7'}
  291. ],
  292. prjWhoTendList: [
  293. {label: '乡镇或县级', value: '1'},
  294. {label: '村集体', value: '2'},
  295. {label: '用水合作组织', value: '3'},
  296. {label: '个人', value: '4'},
  297. {label: '不明确', value: '5'}
  298. ],
  299. prjUsrTypeList: [
  300. {label: '村集体', value: '1'},
  301. {label: '用水合作组织', value: '2'},
  302. {label: '个人', value: '3'}
  303. ],
  304. whoTendList: [
  305. {label: '乡镇', value: '1'},
  306. {label: '村集体', value: '2'},
  307. {label: '用水合作组织', value: '3'},
  308. {label: '个人', value: '4'},
  309. {label: '专业管理队伍', value: '5'},
  310. {label: '不明确', value: '6'}
  311. ],
  312. wtrNotFarmList: [
  313. {label: '水源发生变化,供水不足', value: '1'},
  314. {label: '骨干渠道输水不畅', value: '2'},
  315. {label: '末级渠系工程损坏、淤堵', value: '3'},
  316. {label: '其他', value: '4'}
  317. ],
  318. beforeCurryearList: [
  319. {label: "20-60年代", value: '1'},
  320. {label: '60-70年代', value: '2'},
  321. {label: '70-80年代', value: '3'},
  322. {label: '80-90年代', value: '4'},
  323. {label: '90-00年代', value: '5'}
  324. ],
  325. rules: {
  326. invsrPhone: [
  327. {validator: checkTel, trigger: 'blur'}
  328. ],
  329. },
  330. rsvrRules: null,
  331. probId: '',
  332. showAddProblemDialog: false,
  333. showProblemList: false
  334. };
  335. },
  336. computed: {
  337. recPersId() {
  338. return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
  339. }
  340. },
  341. mounted() {
  342. if (this.rowId) {
  343. this.getIrrChanInfo();
  344. this.findItemByType()
  345. }
  346. },
  347. methods: {
  348. getIrrChanInfo() {
  349. let _self = this;
  350. getIrrChanApi(_self.rowId).then(res => {
  351. if (res.success) {
  352. if (res.data && Object.keys(res.data).length) {
  353. _self.addObj = res.data;
  354. _self.addObj.sour = _self.addObj.sour ? _self.addObj.sour.split(',') : ''
  355. // _self.addObj.prjWhoTend = _self.addObj.prjWhoTend ? _self.addObj.prjWhoTend.split(',') : ''
  356. // _self.addObj.prjUsrType = _self.addObj.prjUsrType ? _self.addObj.prjUsrType.split(',') : ''
  357. // _self.addObj.whoTend = _self.addObj.whoTend ? _self.addObj.whoTend.split(',') : ''
  358. _self.addObj.wtrNotFarm = _self.addObj.wtrNotFarm ? _self.addObj.wtrNotFarm.split(',') : ''
  359. } else {
  360. _self.addObj = {};
  361. }
  362. } else {
  363. this.$message.error(res.message)
  364. }
  365. });
  366. },
  367. //保存
  368. makesure() {
  369. let _self = this;
  370. this.$refs['ruleForm'].validate((valid) => {
  371. if (valid) {
  372. this.$confirm("确认保存填写的信息吗?", "提示", {
  373. confirmButtonText: "确定",
  374. cancelButtonText: "取消",
  375. type: "warning"
  376. }).then(() => {
  377. _self.addObj["rgstrId"] = _self.currentObjectRgstrId;
  378. _self.addObj["objId"] = _self.currentObjectId;
  379. _self.addObj["persId"] = _self.recPersId;
  380. _self.addObj["status"] = '1';
  381. _self.addObj.sour = _self.addObj.sour ? _self.addObj.sour.join(',') : ''
  382. // _self.addObj.prjWhoTend = _self.addObj.prjWhoTend ? _self.addObj.prjWhoTend.join(',') : ''
  383. // _self.addObj.prjUsrType = _self.addObj.prjUsrType ? _self.addObj.prjUsrType.join(',') : ''
  384. // _self.addObj.whoTend = _self.addObj.whoTend ? _self.addObj.whoTend.join(',') : ''
  385. _self.addObj.wtrNotFarm = _self.addObj.wtrNotFarm ? _self.addObj.wtrNotFarm.join(',') : ''
  386. request.post("/bis/insp/irr/chan", _self.addObj).then(res => {
  387. if (res.success) {
  388. _self.$message.success("保存成功");
  389. _self.$emit("addShuiKuSuccess");
  390. }
  391. });
  392. }).catch((err) => {
  393. this.$message.info(err)
  394. });
  395. } else {
  396. this.$message.warning('请检查填写信息')
  397. return
  398. }
  399. });
  400. },
  401. currentDivision(obj) {
  402. this.addObj.adCode = obj.adCode
  403. this.addObj.adName = obj.adName
  404. },
  405. irriChange(obj) {
  406. this.addObj.irrName = obj.irrName
  407. this.addObj.irrCode = obj.id
  408. },
  409. cancelHandler() {
  410. this.$emit("cancelHandler");
  411. },
  412. findItemByType() {
  413. const obj = {
  414. tname: "BIS_INSP_IRR_CHAN"
  415. }
  416. request.post("/bis/insp/item/ques/info/findItemByType", obj).then(res => {
  417. this.rsvrRules = res.data;
  418. })
  419. },
  420. addProblemList(item) {
  421. let rest = this.rsvrRules.filter(e => {
  422. return e.eName === item;
  423. });
  424. this.probId = rest[0].id;
  425. this.showProblemList = true;
  426. this.showAddProblemDialog = true
  427. },
  428. getdialogFormVisible(val) {
  429. this.showProblemList = val
  430. },
  431. },
  432. watch: {}
  433. };
  434. </script>
  435. <style lang="scss">
  436. #dcdxHeader {
  437. padding: 15px 20px;
  438. }
  439. #dxdcFooter {
  440. text-align: center;
  441. }
  442. #dxdcAside {
  443. border: 1px solid #d5d5ff;
  444. }
  445. /*.ygl_wrapper label.el-radio {*/
  446. /*width: 80px;*/
  447. /*}*/
  448. .ygl_wrapper .el-form {
  449. width: 540px;
  450. margin-top: 10px;
  451. }
  452. .ygl_wrapper .el-icon-circle-plus {
  453. font-size: 16px;
  454. }
  455. .sjxg_fj > div > div {
  456. margin: 0 !important;
  457. display: inline-block;
  458. width: 80px !important;
  459. }
  460. .w300 {
  461. width: 180px;
  462. text-align: left;
  463. }
  464. .font_red {
  465. color: red;
  466. }
  467. .span200 {
  468. width: 200px;
  469. }
  470. </style>