a586e46f7e515fd4a8742209eadf31271d38d15f.svn-base 24 KB

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