6c1f4e228463fd178881aa82c3ee01706132172d.svn-base 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  1. <template>
  2. <div>
  3. <el-dialog :title="gsgcRowData.projectNm" :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.location" class="w200" clearable placeholder="请输入所在地"></el-input>-->
  12. <!--</el-form-item>-->
  13. <!--<el-form-item label="经度">-->
  14. <!--<el-input type="text" v-model="formObj.lgtdpc" class="w200" clearable placeholder="请输入经度"></el-input>-->
  15. <!--</el-form-item>-->
  16. <!--<el-form-item label="纬度">-->
  17. <!--<el-input type="text" v-model="formObj.lttdpc" class="w200" clearable placeholder="请输入纬度"></el-input>-->
  18. <!--</el-form-item>-->
  19. <!--<el-form-item label="工程类型">-->
  20. <!--<el-select v-model="formObj.projectType" class="w200" clearable placeholder="请选择">-->
  21. <!--<el-option label="万人工程" value="1"></el-option>-->
  22. <!--<el-option label="千人工程" value="2"></el-option>-->
  23. <!--<el-option label="千人以下集中供水工程" value="3"></el-option>-->
  24. <!--</el-select>-->
  25. <!--</el-form-item>-->
  26. <el-form-item label="地点(县,乡镇,行政村,村组)">
  27. <el-input type="text" v-model="formObj.addr" class="w200" clearable
  28. placeholder="请输入地点"></el-input>
  29. </el-form-item>
  30. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  31. style="width:120px;padding-left: 10px">工程概况</span><span class="hrs"></span></p>
  32. <el-form-item label="工程名称">
  33. <el-input type="text" v-model="formObj.prjNm" class="w200" clearable
  34. placeholder="请输入工程名称"></el-input>
  35. </el-form-item>
  36. <el-form-item label="工程类型">
  37. <el-select v-model="formObj.prjType" class="w200" clearable placeholder="请选择">
  38. <el-option label="万人工程" value="1"></el-option>
  39. <el-option label="千人工程" value="2"></el-option>
  40. <el-option label="千人以下集中供水工程" value="3"></el-option>
  41. </el-select>
  42. </el-form-item>
  43. <!--<el-form-item label="工程是否正常运行" >-->
  44. <!--<el-radio v-model="formObj.isProNormal" label="1">是</el-radio>-->
  45. <!--<el-radio v-model="formObj.isProNormal" label="2">否</el-radio>-->
  46. <!--<el-button-->
  47. <!--@click="addProblem('isProNormal')"-->
  48. <!--type="text"-->
  49. <!--v-if="formObj.isProNormal =='2'">-->
  50. <!--<i class="el-icon-circle-plus add-problem-icon"></i>-->
  51. <!--</el-button>-->
  52. <!--</el-form-item>-->
  53. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  54. style="width:120px;padding-left: 10px">水费收缴情况</span><span class="hrs"></span></p>
  55. <el-form-item label="是否定价">
  56. <el-radio v-model="formObj.isFeeMake" label="1">是</el-radio>
  57. <el-radio v-model="formObj.isFeeMake" label="2">否</el-radio>
  58. <el-button
  59. @click="addProblem('isFeeMake')"
  60. type="text"
  61. v-if="formObj.isFeeMake =='2'">
  62. <i class="el-icon-circle-plus add-problem-icon"></i>
  63. </el-button>
  64. </el-form-item>
  65. <el-form-item label="定价依据:" v-if="formObj.isFeeMake == '1'">
  66. <el-radio v-model="formObj.feeRely" label="1">政府文件定价</el-radio>
  67. <el-radio v-model="formObj.feeRely" label="2">自主定价</el-radio>
  68. <el-radio v-model="formObj.feeRely" label="3">物价部门核定工程水价批复</el-radio>
  69. </el-form-item>
  70. <el-form-item label="水价类型" v-if="formObj.isFeeMake == '1'">
  71. <el-radio v-model="formObj.feeType" label="1">单一制水价</el-radio>
  72. <el-radio v-model="formObj.feeType" label="2">两部制水价</el-radio>
  73. <el-radio v-model="formObj.feeType" label="3">阶梯水价</el-radio>
  74. <el-radio v-model="formObj.feeType" label="4">固定水价</el-radio>
  75. </el-form-item>
  76. <el-form-item label="水价" v-if="formObj.isFeeMake == '1'">
  77. <div v-if="formObj.feeType == '1'">
  78. <el-input type="text" v-model="formObj.jiliangPrice" class="input50"></el-input>
  79. <span>元/立方米</span>
  80. </div>
  81. <div v-if="formObj.feeType == '2'">
  82. <span>固定水价</span>
  83. <el-input type="text" v-model="formObj.gudingPriceTwo" class="input50"></el-input>
  84. <span>元/立方米,限额</span><input type="text" v-model="formObj.xianEPrice"
  85. class="input50"><br/>
  86. <span>计量水价</span>
  87. <el-input type="text" class="input50" v-model="formObj.jiliangPriceTwo"></el-input>
  88. <span>元/立方米</span>
  89. </div>
  90. <div v-if="formObj.feeType == '3'">
  91. <span>第一阶梯</span>
  92. <el-input type="text" v-model="formObj.jietiPriceOne" class="input50"></el-input>
  93. <span>元/立方米,限额</span><input type="text" v-model="formObj.jietiXianeOne" class="input50"><br/>
  94. <span>第二阶梯</span>
  95. <el-input type="text" v-model="formObj.jietiPriceTwo" class="input50"></el-input>
  96. <span>元/立方米,限额</span><input type="text" v-model="formObj.jietiXianeTwo" class="input50"><br/>
  97. <span>第三阶梯</span>
  98. <el-input type="text" v-model="formObj.jietiPriceThree" class="input50"></el-input>
  99. <span>元/立方米,限额</span><input type="text" v-model="formObj.jietiXianeThree"
  100. class="input50"><br/>
  101. </div>
  102. <div v-if="formObj.feeType == '4'">
  103. <el-input type="text" v-model="formObj.gudingPrice" class="w200">
  104. <el-select v-model="formObj.gudingPriceDw" slot="append" placeholder="请选择" style="width: 100px;">
  105. <el-option label="元/月·户" value="1"></el-option>
  106. <el-option label="元/人·月" value="2"></el-option>
  107. </el-select>
  108. </el-input>
  109. </div>
  110. </el-form-item>
  111. <el-form-item label="是否收取水费">
  112. <el-radio v-model="formObj.isCalFee" label="1">是</el-radio>
  113. <el-radio v-model="formObj.isCalFee" label="2">否</el-radio>
  114. </el-form-item>
  115. <el-form-item label="水费加补助是否覆盖运行成本" v-if="formObj.isCalFee == '1'">
  116. <el-radio v-model="formObj.isOverBaseFee" label="1">是</el-radio>
  117. <el-radio v-model="formObj.isOverBaseFee" label="2">否</el-radio>
  118. <el-button
  119. @click="addProblem('isOverBaseFee')"
  120. type="text"
  121. v-if="formObj.isOverBaseFee =='2'">
  122. <i class="el-icon-circle-plus add-problem-icon"></i>
  123. </el-button>
  124. </el-form-item>
  125. <el-form-item label="水费收缴率(%)" v-if="formObj.isCalFee == '1'">
  126. <el-input type="text" v-model="formObj.payFeeProcent" class="input50"></el-input>
  127. </el-form-item>
  128. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  129. style="width:120px;padding-left: 10px">工程运行状况</span><span class="hrs"></span></p>
  130. <el-form-item label="设施设备-是否按要求配备">
  131. <el-radio v-model="formObj.posFaeIsEqp" label="1">是</el-radio>
  132. <el-radio v-model="formObj.posFaeIsEqp" label="2">否</el-radio>
  133. <el-button
  134. @click="addProblem('posFaeIsEqp')"
  135. type="text"
  136. v-if="formObj.posFaeIsEqp == '2'">
  137. <i class="el-icon-circle-plus add-problem-icon"></i>
  138. </el-button>
  139. </el-form-item>
  140. <el-form-item label="设施设备-是否正常运行" v-if="formObj.posFaeIsEqp == '1'">
  141. <el-radio v-model="formObj.posFaeIsRun" label="1">是</el-radio>
  142. <el-radio v-model="formObj.posFaeIsRun" label="2">否</el-radio>
  143. <el-button
  144. @click="addProblem('posFaeIsRun')"
  145. type="text"
  146. v-if="formObj.posFaeIsRun == '2'">
  147. <i class="el-icon-circle-plus add-problem-icon"></i>
  148. </el-button>
  149. </el-form-item>
  150. <el-form-item label="供水水质是否正常">
  151. <el-radio v-model="formObj.posRsWsqIsOk" label="1">是</el-radio>
  152. <el-radio v-model="formObj.posRsWsqIsOk" label="2">否</el-radio>
  153. <el-button
  154. @click="addProblem('posRsWsqIsOk')"
  155. type="text"
  156. v-if="formObj.posRsWsqIsOk == '2'">
  157. <i class="el-icon-circle-plus add-problem-icon"></i>
  158. </el-button>
  159. </el-form-item>
  160. <el-form-item label="供水量是否正常">
  161. <el-radio v-model="formObj.posRsOswIsOk" label="1">是</el-radio>
  162. <el-radio v-model="formObj.posRsOswIsOk" label="2">否</el-radio>
  163. <el-button
  164. @click="addProblem('posRsOswIsOk')"
  165. type="text"
  166. v-if="formObj.posRsOswIsOk == '2'">
  167. <i class="el-icon-circle-plus add-problem-icon"></i>
  168. </el-button>
  169. </el-form-item>
  170. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  171. style="width:120px;padding-left: 10px">服务保障</span><span class="hrs"></span></p>
  172. <el-form-item label="服务电话">
  173. <el-input type="text" v-model="formObj.telephone" clearable placeholder="请输入服务电话"
  174. class="input300"></el-input>
  175. </el-form-item>
  176. <p style="margin-top:10px;margin-bottom: 10px"><i class="el-icon-caret-right"></i><span
  177. style="width:120px;padding-left: 10px">其他</span><span class="hrs"></span></p>
  178. <el-form-item label="暗访日期">
  179. <el-date-picker
  180. v-model="formObj.visitDate"
  181. type="date"
  182. placeholder="选择日期"
  183. format="yyyy-MM-dd"
  184. value-format="yyyy-MM-dd"
  185. ></el-date-picker>
  186. </el-form-item>
  187. <el-form-item label="">
  188. <el-button type="primary" @click="addHandler">保 存</el-button>
  189. </el-form-item>
  190. </el-form>
  191. </el-main>
  192. <problem-list
  193. v-if="showProblemList"
  194. :showProblemList='showProblemList'
  195. :currentObjectId="currentObjectId"
  196. :currentObjectName="currentObjectName"
  197. problemMiddleType="供水工程暗访"
  198. :problData="probId"
  199. @dialogFormVisible="getdialogFormVisible"
  200. :currentObjectRgstrId="currentObjectRgstrId"
  201. :rowData="rowData"
  202. :gsgcRowData="gsgcRowData"
  203. :oriFatherName="oriFatherName"
  204. :villageNm="villageNm"
  205. ></problem-list>
  206. </el-container>
  207. </el-dialog>
  208. </div>
  209. </template>
  210. <script>
  211. import inputWith from "@widget/inuptWith.vue"
  212. import problemList from '../../addProlemMidForm/nongyinHuitoukanProblemList'
  213. import request from "@util/gw_ajax_request.js"
  214. export default {
  215. components: {
  216. inputWith: inputWith,
  217. problemList
  218. },
  219. props: ['rowData', 'currentObjectId', 'currentObjectName', 'currentObjectRgstrId', 'gsgcRowData', 'oriFatherName', 'villageNm'],
  220. data() {
  221. return {
  222. objtbStatu: {
  223. presStat: "",
  224. rgstrId: "",
  225. },
  226. rules: {
  227. // wiunWaoLegPersTel: [
  228. // {validator: checkTel, trigger: 'blur'}
  229. // ],
  230. // techPersTel: [
  231. // {validator: checkTel, trigger: 'blur'}
  232. // ],
  233. // patrolPersTel: [
  234. // {validator: checkTel, trigger: 'blur'}
  235. // ],
  236. },
  237. formObj: {
  238. lgtd: "",//高德经度 ,
  239. lgtdpc: "",//pc经度 ,
  240. location: "",//所在地 ,
  241. lttd: "",//高德纬度 ,
  242. lttdpc: "",//pc纬度 ,
  243. overPeople: "",//覆盖人口 ,
  244. payFeeProcent: "",//水费缴费率 ,
  245. persId: "",//记录人员ID ,
  246. projectNm: "",//工程名称 ,
  247. projectType: "",//工程类型 ,
  248. recPers2: "",//暗访人名称 ,: "",//人饮督查登记表id ,
  249. telephone: "",//服务电话 ,
  250. updateTime: "",//修改时间 ,
  251. villageNm: "",//村组,所在地 ,
  252. visitDate: "",//暗访日期 ,
  253. waterQuaHaveNote: "",//水质检测有无报告 ,
  254. waterQuaIsHege: "",//水质检测是否合格 ,
  255. waterQuaNohgNote: "",//水质检测不合格备注 ,
  256. feeRely: "",//水费定价依据,1政府文件定价,2自主定价,3物价部门核定 ,
  257. feeType: "",//水价类型,1单一水价,2两步制水价,3阶梯水价,4固定水价 ,
  258. finishTime: "",//建成时间 ,
  259. gudingPrice: "",//固定水价,以及两步制水价固定水价部分 ,
  260. gudingPriceDw: "",//1为月元。户/2为月人。户 ,
  261. gudingPriceTwo: "",//两步制水价价格,固定水价存放 ,
  262. id: "",//供水工程id ,
  263. isCalFee: "",//是否收取水费 ,
  264. isFeeMake: "",//水费是否定价,1是,2否 ,
  265. isFoOver: "",//是否氟超标县,1是,2否 ,
  266. isGudingFee: "",//固定水价,feeType类型为4,值为1 ,
  267. isGudingFeeNote: "",//固定水价信息 ,
  268. isGudingNote: "",//固定水价信息 ,
  269. isGudingType: "",//固定水价类型 ,
  270. isJiliangFee: "",//计量水价 ,
  271. isJiliangFeeNote: "",//计量水价信息 ,
  272. isJiliangFeeType: "",//计量水价类型,feeType类型1-3为1 ,
  273. isJiliangNote: "",//计量水价信息 ,
  274. isJiliangType: "",//计量水价类型 ,
  275. isOverBaseFee: "",//水费加补助是否覆盖成本 ,
  276. isOwnCleanTool: "",//净化设备是否配备 ,
  277. isOwnDisinfNormal: "",//消毒设备是否符合政策 ,
  278. isOwnDisinfTool: "",//消毒设备是否配置 ,
  279. cleanToolNormal: "", //净化设备是否运行政策 ,
  280. jietiPriceOne: "",//阶梯水价1 ,
  281. jietiPriceThree: "",//阶梯水价3 ,
  282. jietiPriceTwo: "",//阶梯水价2 ,
  283. jietiXianeOne: "",//阶梯水价,阶梯限额1 ,
  284. jietiXianeThree: "",//阶梯水价,阶梯限额3 ,
  285. jietiXianeTwo: "",//阶梯水价,阶梯限额2 ,
  286. jiliangPrice: "",//单一制水价价格,计量水价存放,水费类型1,4存放 ,
  287. jiliangPriceTwo: "",//两步制水价价格,计量水价存放 ,
  288. xianEPrice: "",//存放限制额度(两步制水价限额)
  289. // 固定水价:gudingPrice,类型gudingPriceDw
  290. // 两步制水价:固定水价,gudingPriceTwo,限额,xianEPrice,计量jiliangPriceTwo
  291. // 单一制水价:jiliangPrice
  292. status: 0, //填报状态
  293. isProNormal: "",//工程是否正常运行
  294. },
  295. dialogFormVisible: true,
  296. formLabelWidth: '300px',
  297. loading: true,
  298. operationType1: '',
  299. rsvrRules: null,
  300. probId: '',
  301. showProblemList: false
  302. }
  303. },
  304. computed: {
  305. recPersId() {
  306. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  307. }
  308. },
  309. created() {
  310. this.findItemByType()
  311. },
  312. mounted() {
  313. this.getRgstridObj();
  314. },
  315. watch: {},
  316. methods: {
  317. getRgstridObj() {
  318. var _self = this;
  319. request.get(`/bis/bis/rdwsp/rgstr/fee/${this.gsgcRowData.id}`)
  320. .then((res) => {
  321. if (res.data && Object.keys(res.data).length) {
  322. _self.formObj = res.data;
  323. _self.operationType1 = 'update';
  324. } else {
  325. _self.formObj = {};
  326. _self.operationType1 = 'add';
  327. }
  328. });
  329. },
  330. addHandler() {
  331. var _self = this;
  332. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  333. _self.formObj['recPersId'] = _self.recPersId;
  334. if(Object.keys(_self.formObj).length) _self.formObj.status = "1";
  335. else _self.formObj.status = "0";
  336. // 更改填报状态 to-do: 需要确认填报状态的字段是什么
  337. // if (
  338. // this.formObj.location ||
  339. // this.formObj.lgtdpc ||
  340. // this.formObj.lttdpc ||
  341. // this.formObj.projectType ||
  342. // this.formObj.villageNm ||
  343. // this.formObj.isFeeMake ||
  344. // this.formObj.isOwnCleanTool ||
  345. // this.formObj.isOwnDisinfTool ||
  346. // this.formObj.waterQuaHaveNote ||
  347. // this.formObj.telephone ||
  348. // this.formObj.isProNormal
  349. // ) {
  350. // this.formObj.status = "1";
  351. // }
  352. // if (
  353. // this.formObj.location &&
  354. // this.formObj.lgtdpc &&
  355. // this.formObj.lttdpc &&
  356. // this.formObj.projectType &&
  357. // this.formObj.villageNm &&
  358. // this.formObj.isFeeMake &&
  359. // this.formObj.isOwnCleanTool &&
  360. // this.formObj.isOwnDisinfTool &&
  361. // this.formObj.waterQuaHaveNote &&
  362. // this.formObj.telephone &&
  363. // this.formObj.isProNormal
  364. // ) {
  365. // this.formObj.status = "2";
  366. // }
  367. // if (
  368. // this.formObj.location == undefined &&
  369. // this.formObj.lgtdpc == undefined &&
  370. // this.formObj.lttdpc == undefined &&
  371. // this.formObj.projectType == undefined &&
  372. // this.formObj.villageNm == undefined &&
  373. // this.formObj.isFeeMake == undefined &&
  374. // this.formObj.isOwnCleanTool == undefined &&
  375. // this.formObj.isOwnDisinfTool == undefined &&
  376. // this.formObj.waterQuaHaveNote == undefined &&
  377. // this.formObj.telephone == undefined &&
  378. // this.formObj.isProNormal == undefined
  379. // ) {
  380. // this.formObj.status = "0";
  381. // }
  382. this.$confirm('确认保存水费收缴及水质保障情况信息?', '提示', {
  383. confirmButtonText: '确定',
  384. cancelButtonText: '取消',
  385. type: 'warning'
  386. })
  387. .then(() => {
  388. if (_self.operationType1 == 'add') {
  389. try {
  390. request.post('/bis/bis/rdwsp/rgstr/fee', _self.formObj).then((res) => {
  391. if (res.success) {
  392. _self.$message.success("添加成功");
  393. this.$emit("closeDialog", "success");
  394. }
  395. });
  396. } catch (e) {
  397. }
  398. } else if (_self.operationType1 == 'update') {
  399. try {
  400. request.post('/bis/bis/rdwsp/rgstr/fee', _self.formObj).then((res) => {
  401. if (res.success) {
  402. _self.$message.success("修改成功");
  403. this.$emit("closeDialog", "success");
  404. }
  405. });
  406. } catch (e) {
  407. }
  408. }
  409. })
  410. .catch(() => {
  411. });
  412. },
  413. cancelHandler() {
  414. this.$emit('cancelHandler');
  415. },
  416. addProblem(item) {
  417. let rest = this.rsvrRules.filter(e => {
  418. return e.eName === item;
  419. });
  420. this.probId = rest[0].id;
  421. this.showProblemList = true
  422. },
  423. formatRadio(val) {
  424. if (val == '1') {
  425. return '是'
  426. } else if (val == '2') {
  427. return '否'
  428. } else {
  429. return val
  430. }
  431. },
  432. findItemByType() {
  433. const obj = {
  434. tname: "BIS_BIS_RDWSP_RGSTR_FEE"
  435. }
  436. request.post("/bis/insp/item/ques/info/findItemByType", obj).then(res => {
  437. this.rsvrRules = res.data;
  438. })
  439. },
  440. closePlDialog(val) {
  441. this.showAddProblemDialog = false;
  442. },
  443. closeTianBaoDialog() {
  444. this.$emit("closeDialog");
  445. },
  446. getdialogFormVisible(val) {
  447. this.showProblemList = val
  448. },
  449. },
  450. }
  451. </script>
  452. <style>
  453. .input50 {
  454. width: 100px;
  455. }
  456. .w200 {
  457. width: 300px;
  458. }
  459. .input300 {
  460. width: 300px;
  461. }
  462. #dcdxHeader {
  463. padding: 15px 20px;
  464. }
  465. #dxdcFooter {
  466. text-align: center;
  467. }
  468. #dxdcAside {
  469. border: 1px solid #d5d5ff;
  470. }
  471. .el-dialog__wrapper .el-treeWhite {
  472. /* max-height: 260px !important; */
  473. }
  474. .add-problem-icon {
  475. font-size: 16px;
  476. }
  477. </style>