cce84d9f9dd68d28aa6bbde656fa8e36ebc0a7f3.svn-base 23 KB

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