11e0cb6fada4826c1ae7ef1c07c19efc54a1e7ea.svn-base 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. <template>
  2. <div>
  3. <el-dialog :title="yshRowData.userNm" :visible.sync="dialogFormVisible"
  4. :modal-append-to-body="true"
  5. :append-to-body="true" @close="closeTianBaoDialog">
  6. <el-container style="height:520px;">
  7. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  8. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;margin-bottom: 10px;">信息填报</p>
  9. <el-form :model="formObj" :label-width="formLabelWidth" :rules="rules" ref="formObj">
  10. <el-form-item label="地点">
  11. <el-input type="text" v-model="formObj.villageNm" class="w200" clearable placeholder="请输入村组"></el-input>
  12. </el-form-item>
  13. <el-form-item label="户主姓名">
  14. <el-input type="text" v-model="formObj.userNm" class="w200" clearable
  15. placeholder="请输入户主姓名"></el-input>
  16. </el-form-item>
  17. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  18. style="width:120px;padding-left: 10px">水质</span><span class="hrs"></span></p>
  19. <el-form-item label="水质是否良好">
  20. <el-radio v-model="formObj.isQualityGood" label="1">是</el-radio>
  21. <el-radio v-model="formObj.isQualityGood" label="2">否</el-radio>
  22. <el-button
  23. @click="addProblem('isQualityGood')"
  24. type="text"
  25. v-if="formObj.isQualityGood == '2'">
  26. <i class="el-icon-circle-plus add-problem-icon"></i>
  27. </el-button>
  28. </el-form-item>
  29. <el-form-item label="水质存在问题" v-if="formObj.isQualityGood == '2'">
  30. <el-input type="textarea" rows="4" v-model="formObj.qualityProblem" autocomplete="off" class="input300"></el-input>
  31. </el-form-item>
  32. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  33. style="width:120px;padding-left: 10px">水量</span><span class="hrs"></span></p>
  34. <el-form-item label="是否供水入户">
  35. <el-radio v-model="formObj.isSplyHome" label="1">是</el-radio>
  36. <el-radio v-model="formObj.isSplyHome" label="2">否</el-radio>
  37. <el-button
  38. @click="addProblem('isSplyHome')"
  39. type="text"
  40. v-if="formObj.isSplyHome =='2'">
  41. <i class="el-icon-circle-plus add-problem-icon"></i>
  42. </el-button>
  43. </el-form-item>
  44. <el-form-item label="是否24小时供水" v-if="formObj.isSplyHome == '1'">
  45. <el-radio v-model="formObj.is24hSupply" label="1">是</el-radio>
  46. <el-radio v-model="formObj.is24hSupply" label="2">否</el-radio>
  47. <el-button
  48. @click="addProblem('is24hSupply')"
  49. type="text"
  50. v-if="formObj.is24hSupply =='2'">
  51. <i class="el-icon-circle-plus add-problem-icon"></i>
  52. </el-button>
  53. </el-form-item>
  54. <el-form-item label="水量存在问题" v-if="formObj.is24hSupply == '2'">
  55. <el-input v-model="formObj.waterProblem" type="textarea" rows="4" autocomplete="off" class="input300"></el-input>
  56. </el-form-item>
  57. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  58. style="width:120px;padding-left: 10px">用水方便程度</span><span class="hrs"></span></p>
  59. <el-form-item label="是否达标">
  60. <el-radio v-model="formObj.isEasyUse" label="1">是</el-radio>
  61. <el-radio v-model="formObj.isEasyUse" label="2">否</el-radio>
  62. <el-button
  63. @click="addProblem('isEasyUse')"
  64. type="text"
  65. v-if="formObj.isEasyUse == '2'">
  66. <i class="el-icon-circle-plus add-problem-icon"></i>
  67. </el-button>
  68. </el-form-item>
  69. <el-form-item label="用水方便程度存在问题" v-if="formObj.isEasyUse == '2'">
  70. <el-input v-model="formObj.easyUseProblem" type="textarea" rows="4" autocomplete="off" class="input300"></el-input>
  71. </el-form-item>
  72. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  73. style="width:120px;padding-left: 10px">供水保证率</span><span class="hrs"></span></p>
  74. <el-form-item label="是否达标">
  75. <el-radio v-model="formObj.isSplyProblem" label="1">是</el-radio>
  76. <el-radio v-model="formObj.isSplyProblem" label="2">否</el-radio>
  77. <el-button
  78. @click="addProblem('isSplyProblem')"
  79. type="text"
  80. v-if="formObj.isSplyProblem =='2'">
  81. <i class="el-icon-circle-plus add-problem-icon"></i>
  82. </el-button>
  83. </el-form-item>
  84. <el-form-item label="供水保证率存在问题" v-if="formObj.isSplyProblem == '2'">
  85. <el-input v-model="formObj.splyProblem" type="textarea" rows="4" autocomplete="off" class="input300"></el-input>
  86. </el-form-item>
  87. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  88. style="width:120px;padding-left: 10px">水费水价</span><span class="hrs"></span></p>
  89. <el-form-item label="是否收取水费">
  90. <el-radio v-model="formObj.isCalFee" label="1">是</el-radio>
  91. <el-radio v-model="formObj.isCalFee" label="2">否</el-radio>
  92. <el-button
  93. @click="addProblem('isCalFee')"
  94. type="text"
  95. v-if="formObj.isCalFee == '2'">
  96. <i class="el-icon-circle-plus add-problem-icon"></i>
  97. </el-button>
  98. </el-form-item>
  99. <el-form-item label="水价类型" v-if="formObj.isCalFee == '1'">
  100. <el-radio v-model="formObj.feeType" label="1">单一制水价</el-radio>
  101. <el-radio v-model="formObj.feeType" label="2">两部制水价</el-radio>
  102. <el-radio v-model="formObj.feeType" label="3">阶梯水价</el-radio>
  103. <el-radio v-model="formObj.feeType" label="4">固定水价</el-radio>
  104. <el-radio v-model="formObj.feeType" label="5">不收费</el-radio>
  105. </el-form-item>
  106. <el-form-item label="水价" v-if="formObj.isCalFee == '1' && formObj.feeType != '5'">
  107. <div v-if="formObj.feeType == '1'">
  108. <el-input type="text" v-model="formObj.jiliangPrice" class="input50"></el-input>
  109. <span>元/立方米</span>
  110. </div>
  111. <div v-if="formObj.feeType == '2'">
  112. <span>固定水价</span>
  113. <el-input type="text" v-model="formObj.gudingPriceTwo" class="input50"></el-input>
  114. <span>元/立方米,限额</span><input type="text" v-model="formObj.xianEPrice"
  115. class="input50"><br/>
  116. <span>计量水价</span>
  117. <el-input type="text" class="input50" v-model="formObj.jiliangPriceTwo"></el-input>
  118. <span>元/立方米</span>
  119. </div>
  120. <div v-if="formObj.feeType == '3'">
  121. <span>第一阶梯</span>
  122. <el-input type="text" v-model="formObj.jietiPriceOne" class="input50"></el-input>
  123. <span>元/立方米,限额</span><input type="text" v-model="formObj.jietiXianeOne" class="input50"><br/>
  124. <span>第二阶梯</span>
  125. <el-input type="text" v-model="formObj.jietiPriceTwo" class="input50"></el-input>
  126. <span>元/立方米,限额</span><input type="text" v-model="formObj.jietiXianeTwo" class="input50"><br/>
  127. <span>第三阶梯</span>
  128. <el-input type="text" v-model="formObj.jietiPriceThree" class="input50"></el-input>
  129. <span>元/立方米,限额</span><input type="text" v-model="formObj.jietiXianeThree"
  130. class="input50"><br/>
  131. </div>
  132. <div v-if="formObj.feeType == '4'">
  133. <el-input type="text" v-model="formObj.gudingPrice" class="input200">
  134. <el-select v-model="formObj.gudingPriceDw" slot="append" placeholder="请选择" style="width: 100px;">
  135. <el-option label="元/月·户" value="1"></el-option>
  136. <el-option label="元/人·月" value="2"></el-option>
  137. </el-select>
  138. </el-input>
  139. </div>
  140. </el-form-item>
  141. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  142. style="width:120px;padding-left: 10px">供水服务</span><span class="hrs"></span></p>
  143. <el-form-item label="是否知晓服务人员或了解服务电话">
  144. <el-radio v-model="formObj.isKnowServicer" label="1">是</el-radio>
  145. <el-radio v-model="formObj.isKnowServicer" label="2">否</el-radio>
  146. <el-button
  147. @click="addProblem('isKnowServicer')"
  148. type="text"
  149. v-if="formObj.isKnowServicer == '2'">
  150. <i class="el-icon-circle-plus add-problem-icon"></i>
  151. </el-button>
  152. </el-form-item>
  153. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  154. style="width:120px;padding-left: 10px">总体评价</span><span class="hrs"></span></p>
  155. <el-form-item label="是否解决">
  156. <el-radio v-model="formObj.feeProblem" label="1">是</el-radio>
  157. <el-radio v-model="formObj.feeProblem" label="2">否</el-radio>
  158. <el-button
  159. @click="addProblem('feeProblem')"
  160. type="text"
  161. v-if="formObj.feeProblem =='2'">
  162. <i class="el-icon-circle-plus add-problem-icon"></i>
  163. </el-button>
  164. </el-form-item>
  165. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  166. style="width:120px;padding-left: 10px">其他</span><span class="hrs"></span></p>
  167. <el-form-item label="暗访日期">
  168. <el-date-picker
  169. v-model="formObj.visitDate"
  170. type="date"
  171. placeholder="选择日期"
  172. format="yyyy-MM-dd"
  173. value-format="yyyy-MM-dd"
  174. ></el-date-picker>
  175. </el-form-item>
  176. <!--<el-form-item label="备注" prop="visiteNote">-->
  177. <!--<el-input type="textarea" rows="4" v-model="formObj.visiteNote" clearable-->
  178. <!--placeholder="请输入备注" class="input300"></el-input>-->
  179. <!--</el-form-item>-->
  180. <el-form-item label="">
  181. <el-button type="primary" @click="addHandler('formObj')">保 存</el-button>
  182. </el-form-item>
  183. </el-form>
  184. </el-main>
  185. <problem-list
  186. v-if="showProblemList"
  187. :showProblemList='showProblemList'
  188. :currentObjectId="currentObjectId"
  189. :currentObjectName="currentObjectName"
  190. problemMiddleType="贫困户暗访"
  191. :problData="probId"
  192. @dialogFormVisible="getdialogFormVisible"
  193. :currentObjectRgstrId="currentObjectRgstrId"
  194. :rowData="rowData"
  195. :yshRowData="yshRowData"
  196. :oriFatherName="oriFatherName"
  197. :villageNm="villageNm"
  198. ></problem-list>
  199. </el-container>
  200. </el-dialog>
  201. </div>
  202. </template>
  203. <script>
  204. import inputWith from "@widget/inuptWith.vue"
  205. import request from "@util/gw_ajax_request.js"
  206. import problemList from '../../addProlemMidForm/nongyinHuitoukanProblemList'
  207. export default {
  208. components: {
  209. inputWith: inputWith,
  210. problemList
  211. },
  212. props: ['rowData', 'currentObjectId', 'currentObjectName', 'currentObjectRgstrId', 'yshRowData', 'oriFatherName', 'villageNm'],
  213. data() {
  214. return {
  215. objtbStatu: {
  216. presStat: "",
  217. rgstrId: "",
  218. },
  219. rules: {
  220. // wiunWaoLegPersTel: [
  221. // {validator: checkTel, trigger: 'blur'}
  222. // ],
  223. // techPersTel: [
  224. // {validator: checkTel, trigger: 'blur'}
  225. // ],
  226. // patrolPersTel: [
  227. // {validator: checkTel, trigger: 'blur'}
  228. // ],
  229. },
  230. formObj: {
  231. easyUseProblem: "",//用水方便是否存在问题,1是,2否 ,
  232. feeProblem: "",//总体评价-是否解决问题 ,
  233. feeType: "",//水价类型 ,
  234. gudingPrice: "",//固定水价,以及两步制水价固定水价部分 ,
  235. gudingPriceDw: "",//1为月元。户/2为月人。户 ,
  236. gudingPriceTwo: "",//两步制水价价格,固定水价存放 ,
  237. is24hSupply: "",//是否24小时供水,1是,2否 ,
  238. isCalFee: "",//是否收取水费,1是,2否 ,
  239. // isCallRollback: "",//是否进行电话回访 ,
  240. isWaterReach: "",//水量是否够用 ,
  241. isEasyUse: "",//用水是否方便 ,
  242. isGudingFee: "",//固定水价 ,
  243. isGudingFeeNote: "",//固定水价信息 ,
  244. isJiliangFee: "",//计量水价 ,
  245. isJiliangFeeNote: "",//计量水价信息 ,
  246. isJiliangFeeType: "",//计量水价类型 ,
  247. isKnowServicer: "",//是否知晓服务人员电话,1是,2否 ,
  248. isPkx: "",//是否贫困县,1是,2否 ,
  249. isQualityGood: "",//水质是否良好,1是,2否 ,
  250. isSplyHome: "",//是否供水入户,1是,2否 ,
  251. isSplyProblem: "",//是否供水保证率存在问题,1是,2否 ,
  252. jietiPriceOne: "",//阶梯水价1 ,
  253. jietiPriceThree: "",//阶梯水价3 ,
  254. jietiPriceTwo: "",//阶梯水价2 ,
  255. jietiXianeOne: "",//阶梯水价,阶梯限额1 ,
  256. jietiXianeThree: "",//阶梯水价,阶梯限额3 ,
  257. jietiXianeTwo: "",//阶梯水价,阶梯限额2 ,
  258. jiliangPrice: "",//单一制水价价格,计量水价存放,水费类型1,4存放 ,
  259. jiliangPriceTwo: "",//两步制水价价格,计量水价存放 ,
  260. qualityProblem: "",//水质存在问题 ,
  261. recPers2: "",//记录人员名称 ,
  262. regstrId: "",//人饮督查登记表id ,
  263. splyProblem: "",//供水保证率存在问题 ,
  264. telphone: "",//电话 ,
  265. updateTime: "",//修改时间 ,
  266. userNm: "",//户主姓名 ,
  267. villageNm: "",//调查地点,村组 ,
  268. visitDate: "",//暗访日期 ,
  269. visiteNote: "",//信息备注 ,
  270. waterProblem: "",//水量存在问题 ,
  271. xianEPrice: "",//存放限制额度(两步制水价限额)
  272. // 固定水价:gudingPrice,类型gudingPriceDw
  273. // 两步制水价:固定水价,gudingPriceTwo,限额,xianEPrice,计量jiliangPriceTwo
  274. // 单一制水价:jiliangPrice
  275. status: 0, //填报状态
  276. },
  277. dialogFormVisible: true,
  278. formLabelWidth: '300px',
  279. loading: true,
  280. operationType1: '',
  281. rsvrRules: null,
  282. probId: '',
  283. showProblemList: false
  284. }
  285. },
  286. computed: {
  287. recPersId() {
  288. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  289. }
  290. },
  291. created() {
  292. this.findItemByType()
  293. },
  294. mounted() {
  295. this.getRgstridObj();
  296. },
  297. watch: {},
  298. methods: {
  299. getRgstridObj() {
  300. var _self = this;
  301. request.get(`/bis/rdwsp/rgstr/poor/${this.yshRowData.id}`)
  302. .then((res) => {
  303. if (res.data && Object.keys(res.data).length) {
  304. _self.formObj = res.data;
  305. _self.operationType1 = 'update';
  306. // this.formObj.villageNm = this.rowData.country + "," + this.oriFatherName + "," + this.formObj.villageNm
  307. } else {
  308. _self.formObj = {};
  309. _self.operationType1 = 'add';
  310. }
  311. });
  312. },
  313. addHandler(formName) {
  314. this.$refs[formName].validate((valid) => {
  315. if (valid) {
  316. var _self = this;
  317. if(Object.keys(_self.formObj).length) _self.formObj.status = "1";
  318. else _self.formObj.status = "0";
  319. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  320. _self.formObj['recPersId'] = _self.recPersId;
  321. this.$confirm('确认保存农村居民饮水安全情况信息?', '提示', {
  322. confirmButtonText: '确定',
  323. cancelButtonText: '取消',
  324. type: 'warning'
  325. })
  326. .then(() => {
  327. if (_self.operationType1 == 'add') {
  328. try {
  329. request.post('/bis/rdwsp/rgstr/poor', _self.formObj).then((res) => {
  330. if (res.success) {
  331. _self.$message.success("添加成功");
  332. _self.$emit("addShuiKuSuccess");
  333. }
  334. });
  335. } catch (e) {
  336. }
  337. } else if (_self.operationType1 == 'update') {
  338. try {
  339. request.post('/bis/rdwsp/rgstr/poor', _self.formObj).then((res) => {
  340. if (res.success) {
  341. _self.$message.success("修改成功");
  342. _self.$emit("addShuiKuSuccess");
  343. }
  344. });
  345. } catch (e) {
  346. }
  347. }
  348. })
  349. .catch(() => {
  350. });
  351. } else {
  352. console.log('error submit!!');
  353. return false;
  354. }
  355. })
  356. },
  357. cancelHandler() {
  358. this.$emit('cancelHandler');
  359. },
  360. addProblem(item) {
  361. let rest = this.rsvrRules.filter(e => {
  362. return e.eName === item;
  363. });
  364. this.probId = rest[0].id;
  365. this.showProblemList = true
  366. },
  367. formatRadio(val) {
  368. if (val == '1') {
  369. return '是'
  370. } else if (val == '2') {
  371. return '否'
  372. } else {
  373. return val
  374. }
  375. },
  376. findItemByType() {
  377. const obj = {
  378. tname: "BIS_RDWSP_RGSTR_POOR"
  379. }
  380. request.post("/bis/insp/item/ques/info/findItemByType", obj).then(res => {
  381. this.rsvrRules = res.data;
  382. })
  383. },
  384. closeTianBaoDialog() {
  385. this.$emit("closeDialog");
  386. },
  387. getdialogFormVisible(val) {
  388. this.showProblemList = val
  389. },
  390. },
  391. }
  392. </script>
  393. <style>
  394. .input50 {
  395. width: 100px;
  396. }
  397. .w200 {
  398. width: 300px;
  399. }
  400. .input200 {
  401. width: 200px;
  402. }
  403. .input300 {
  404. width: 300px;
  405. }
  406. #dcdxHeader {
  407. padding: 15px 20px;
  408. }
  409. #dxdcFooter {
  410. text-align: center;
  411. }
  412. #dxdcAside {
  413. border: 1px solid #d5d5ff;
  414. }
  415. .el-dialog__wrapper .el-treeWhite {
  416. /* max-height: 260px !important; */
  417. }
  418. .add-problem-icon {
  419. font-size: 16px;
  420. }
  421. </style>