cf283d3e6da830ccc96f6d891604191c7c4f26ec.svn-base 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  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" ref="formRef" style="width: 80%">
  10. <el-form-item label="所在地">
  11. <el-input type="text" v-model="formObj.location" clearable placeholder="请输入所在地"></el-input>
  12. </el-form-item>
  13. <el-form-item label="经度">
  14. <el-input type="text" v-model="formObj.lgtdpc" clearable placeholder="请输入经度"></el-input>
  15. </el-form-item>
  16. <el-form-item label="纬度">
  17. <el-input type="text" v-model="formObj.lttdpc" clearable placeholder="请输入纬度"></el-input>
  18. </el-form-item>
  19. <el-form-item label="工程类型">
  20. <el-select v-model="formObj.projectType" 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-option label="分散供水工程" value="4"></el-option>
  25. </el-select>
  26. </el-form-item>
  27. <p style="margin-top:10px;margin-bottom: 10px">
  28. <i class="el-icon-caret-right"></i>
  29. <span style="width:120px;padding-left: 10px">水费收缴</span>
  30. <span class="hrs"></span>
  31. </p>
  32. <el-form-item label="收缴情况" >
  33. <el-radio v-model="formObj.isCalFee" label="1">已收缴</el-radio>
  34. <el-radio v-model="formObj.isCalFee" label="2">未收缴</el-radio>
  35. <el-button
  36. @click="addProblem('isCalFee')"
  37. type="text"
  38. v-if="formObj.isCalFee =='2'">
  39. <i class="el-icon-circle-plus add-problem-icon"></i>
  40. </el-button>
  41. </el-form-item>
  42. <el-form-item label="水价">
  43. <el-input type="text" v-model="formObj.fee" clearable placeholder="请输入水价"></el-input>
  44. </el-form-item>
  45. <el-form-item label="是否清楚水费收缴率" >
  46. <el-radio v-model="formObj.isKnowFeeProcent" label="1">是</el-radio>
  47. <el-radio v-model="formObj.isKnowFeeProcent" label="2">否</el-radio>
  48. </el-form-item>
  49. <el-form-item label="水费收缴率" prop="payFeeProcent" v-if="formObj.isKnowFeeProcent == '1'">
  50. <el-input type="text" v-model="formObj.payFeeProcent" clearable placeholder="">
  51. <template slot="append">%</template>
  52. </el-input>
  53. </el-form-item>
  54. <p style="margin-top:10px;margin-bottom: 10px">
  55. <i class="el-icon-caret-right"></i>
  56. <span style="width:120px;padding-left: 10px">工程建设</span>
  57. <span class="hrs"></span>
  58. </p>
  59. <el-form-item label="工程面貌" >
  60. <el-radio v-model="formObj.projectNote" label="1">好</el-radio>
  61. <el-radio v-model="formObj.projectNote" label="2">差</el-radio>
  62. <el-button
  63. @click="addProblem('projectNote')"
  64. type="text"
  65. v-if="formObj.projectNote =='2'">
  66. <i class="el-icon-circle-plus add-problem-icon"></i>
  67. </el-button>
  68. </el-form-item>
  69. <el-form-item label="是否统一logo" >
  70. <el-radio v-model="formObj.projectLogo" label="1">是</el-radio>
  71. <el-radio v-model="formObj.projectLogo" label="2">否</el-radio>
  72. <el-button
  73. @click="addProblem('projectLogo')"
  74. type="text"
  75. v-if="formObj.projectLogo =='2'">
  76. <i class="el-icon-circle-plus add-problem-icon"></i>
  77. </el-button>
  78. </el-form-item>
  79. <el-form-item label="三个责任牌是否齐全" >
  80. <el-radio v-model="formObj.projectThreePerson" label="1">是</el-radio>
  81. <el-radio v-model="formObj.projectThreePerson" label="2">否</el-radio>
  82. <el-button
  83. @click="addProblem('projectThreePerson')"
  84. type="text"
  85. v-if="formObj.projectThreePerson =='2'">
  86. <i class="el-icon-circle-plus add-problem-icon"></i>
  87. </el-button>
  88. </el-form-item>
  89. <el-form-item label="具体描述">
  90. <el-input type="textarea" v-model="formObj.projectDesc" rows="3" clearable></el-input>
  91. </el-form-item>
  92. <el-form-item label="净化消毒设施配备情况" >
  93. <el-radio v-model="formObj.isOwnCleanTool" label="1">配备齐全</el-radio>
  94. <el-radio v-model="formObj.isOwnCleanTool" label="2">未配备齐全</el-radio>
  95. <el-button
  96. @click="addProblem('isOwnCleanTool')"
  97. type="text"
  98. v-if="formObj.isOwnCleanTool =='2'">
  99. <i class="el-icon-circle-plus add-problem-icon"></i>
  100. </el-button>
  101. </el-form-item>
  102. <el-form-item label="净化消毒设施使用情况" >
  103. <el-radio v-model="formObj.isDisinfNormal" label="1">正常使用</el-radio>
  104. <el-radio v-model="formObj.isDisinfNormal" label="2">偶尔使用</el-radio>
  105. <el-radio v-model="formObj.isDisinfNormal" label="3">不使用</el-radio>
  106. <el-radio v-model="formObj.isDisinfNormal" label="4">其他</el-radio>
  107. <el-button
  108. @click="addProblem('isDisinfNormal')"
  109. type="text"
  110. v-if="formObj.isDisinfNormal =='2' || formObj.isDisinfNormal =='3' || formObj.isDisinfNormal =='4'">
  111. <i class="el-icon-circle-plus add-problem-icon"></i>
  112. </el-button>
  113. </el-form-item>
  114. <p style="margin-top:10px;margin-bottom: 10px">
  115. <i class="el-icon-caret-right"></i>
  116. <span style="width:120px;padding-left: 10px">水样检测</span>
  117. <span class="hrs"></span>
  118. </p>
  119. <el-form-item label="水厂自检频次">
  120. <el-input type="text" v-model="formObj.waterCheckCount" clearable placeholder=""></el-input>
  121. </el-form-item>
  122. <el-form-item label="检测报告" >
  123. <el-radio v-model="formObj.waterQuaHaveNote" label="1">有</el-radio>
  124. <el-radio v-model="formObj.waterQuaHaveNote" label="2">无</el-radio>
  125. <el-button
  126. @click="addProblem('waterQuaHaveNote')"
  127. type="text"
  128. v-if="formObj.waterQuaHaveNote == '2'">
  129. <i class="el-icon-circle-plus add-problem-icon"></i>
  130. </el-button>
  131. </el-form-item>
  132. <p style="margin-top:10px;margin-bottom: 10px">
  133. <i class="el-icon-caret-right"></i>
  134. <span style="width:120px;padding-left: 10px">县级统管</span>
  135. <span class="hrs"></span>
  136. </p>
  137. <el-form-item label="管护单位负责人">
  138. <el-input type="text" v-model="formObj.projectPerson" clearable placeholder=""></el-input>
  139. </el-form-item>
  140. <el-form-item label="日常维护方负责人" >
  141. <el-radio v-model="formObj.weihuPerson" label="1">统管单位</el-radio>
  142. <el-radio v-model="formObj.weihuPerson" label="2">物业化管护</el-radio>
  143. <el-radio v-model="formObj.weihuPerson" label="3">统管 + 协管</el-radio>
  144. <el-radio v-model="formObj.weihuPerson" label="4">村镇自管</el-radio>
  145. </el-form-item>
  146. <el-form-item label="标准化创建情况" >
  147. <el-radio v-model="formObj.biaozhunCreate" label="1">已创建</el-radio>
  148. <el-radio v-model="formObj.biaozhunCreate" label="2">正在创建</el-radio>
  149. <el-radio v-model="formObj.biaozhunCreate" label="3">未创建</el-radio>
  150. <el-button
  151. @click="addProblem('biaozhunCreate')"
  152. type="text"
  153. v-if="formObj.biaozhunCreate == '3'">
  154. <i class="el-icon-circle-plus add-problem-icon"></i>
  155. </el-button>
  156. </el-form-item>
  157. <p style="margin-top:10px;margin-bottom: 10px">
  158. <i class="el-icon-caret-right"></i>
  159. <span style="width:120px;padding-left: 10px">群众满意度</span>
  160. <span class="hrs"></span>
  161. </p>
  162. <el-form-item label="满意度" >
  163. <el-radio v-model="formObj.personStatify" label="1">满意</el-radio>
  164. <el-radio v-model="formObj.personStatify" label="2">不满意</el-radio>
  165. </el-form-item>
  166. <el-form-item label="建议">
  167. <el-input type="textarea" v-model="formObj.note" rows="3" clearable></el-input>
  168. </el-form-item>
  169. <el-form-item label="">
  170. <el-button type="primary" @click="addHandler">保 存</el-button>
  171. </el-form-item>
  172. </el-form>
  173. </el-main>
  174. <problem-dialog
  175. v-if="showAddProblemDialog"
  176. :objId="currentObjectId"
  177. :objName="currentObjectName"
  178. @closeDialog="closePlDialog"
  179. fenlei="zhejiangrenyin"
  180. :problData="probId"
  181. :villType="41"
  182. :gsgcRowData="gsgcRowData"
  183. :adFullName="adFullName"
  184. :villageAdCode="villageAdCode"
  185. :currentObjectRgstrId="currentObjectRgstrId">
  186. </problem-dialog>
  187. </el-container>
  188. </el-dialog>
  189. </div>
  190. </template>
  191. <script>
  192. import inputWith from "@widget/inuptWith.vue"
  193. import problemList from '../../addProlemMidForm/renyinNewProblemList'
  194. import problemDialog from "../../duChaWenTi/problemDialog.vue";
  195. import request from "@util/gw_ajax_request.js"
  196. export default {
  197. components: {
  198. inputWith: inputWith,
  199. problemList,
  200. problemDialog
  201. },
  202. props: ['rowData','currentObjectId','currentObjectName','currentObjectRgstrId','gsgcRowData','oriFatherName','villageNm','villageAdCode'],
  203. data() {
  204. var checkNumPercent = (rule, value, callback) => {
  205. if (value && (isNaN(value) || value > 100)) {
  206. callback(new Error('请输入0~100范围内的数字'));
  207. } else {
  208. callback();
  209. }
  210. };
  211. return {
  212. objtbStatu: {
  213. presStat: "",
  214. rgstrId: "",
  215. },
  216. rules: {
  217. payFeeProcent: [
  218. {validator: checkNumPercent, trigger: 'blur'}
  219. ],
  220. },
  221. formObj: {
  222. location: '',
  223. lgtdpc: '',
  224. lttdpc: '',
  225. projectType: '',
  226. isCalFee: '',
  227. fee: '',
  228. isKnowFeeProcent: '',
  229. payFeeProcent: '',
  230. projectNote: '',
  231. projectLogo: '',
  232. projectThreePerson: '',
  233. projectDesc: '',
  234. isOwnCleanTool: '',
  235. isDisinfNormal: '',
  236. waterCheckCount: '',
  237. waterQuaHaveNote: '',
  238. projectPerson: '',
  239. weihuPerson: '',
  240. biaozhunCreate: '',
  241. personStatify: '',
  242. note: '',
  243. },
  244. dialogFormVisible: true,
  245. formLabelWidth: '200px',
  246. loading: true,
  247. operationType1: '',
  248. rsvrRules: null,
  249. probId: '',
  250. showProblemList: false,
  251. showAddProblemDialog: false,
  252. adFullName: ''
  253. }
  254. },
  255. computed: {
  256. recPersId() {
  257. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  258. }
  259. },
  260. created() {
  261. this.findItemByType()
  262. },
  263. mounted() {
  264. this.getRgstridObj();
  265. },
  266. watch: {
  267. },
  268. methods: {
  269. getRgstridObj() {
  270. var _self = this;
  271. request.get(`/bis/zhejiang/country/fee/${this.gsgcRowData.id}`)
  272. .then((res) => {
  273. if (res.data && Object.keys(res.data).length) {
  274. _self.formObj = res.data;
  275. _self.adFullName = res.data.adFullName
  276. _self.operationType1 = 'update';
  277. } else {
  278. _self.formObj = {};
  279. _self.operationType1 = 'add';
  280. }
  281. });
  282. },
  283. addHandler() {
  284. var _self = this;
  285. _self.formObj['rgstrId'] = _self.currentObjectRgstrId;
  286. _self.formObj['recPersId'] = _self.recPersId;
  287. // 更改填报状态 to-do: 需要确认填报状态的字段是什么
  288. if (
  289. this.formObj.location ||
  290. this.formObj.lgtdpc ||
  291. this.formObj.lttdpc ||
  292. this.formObj.projectType ||
  293. this.formObj.isCalFee ||
  294. this.formObj.fee ||
  295. this.formObj.isKnowFeeProcent ||
  296. this.formObj.payFeeProcent ||
  297. this.formObj.projectNote ||
  298. this.formObj.projectLogo ||
  299. this.formObj.projectThreePerson ||
  300. this.formObj.projectDesc ||
  301. this.formObj.isOwnCleanTool ||
  302. this.formObj.isDisinfNormal ||
  303. this.formObj.waterCheckCount ||
  304. this.formObj.waterQuaHaveNote ||
  305. this.formObj.projectPerson ||
  306. this.formObj.weihuPerson ||
  307. this.formObj.biaozhunCreate ||
  308. this.formObj.personStatify ||
  309. this.formObj.note
  310. ) {
  311. this.formObj.status = "1";
  312. }
  313. if (
  314. this.formObj.location &&
  315. this.formObj.lgtdpc &&
  316. this.formObj.lttdpc &&
  317. this.formObj.projectType &&
  318. this.formObj.isCalFee &&
  319. this.formObj.fee &&
  320. this.formObj.isKnowFeeProcent &&
  321. this.formObj.payFeeProcent &&
  322. this.formObj.projectNote &&
  323. this.formObj.projectLogo &&
  324. this.formObj.projectThreePerson &&
  325. this.formObj.projectDesc &&
  326. this.formObj.isOwnCleanTool &&
  327. this.formObj.isDisinfNormal &&
  328. this.formObj.waterCheckCount &&
  329. this.formObj.waterQuaHaveNote &&
  330. this.formObj.projectPerson &&
  331. this.formObj.weihuPerson &&
  332. this.formObj.biaozhunCreate &&
  333. this.formObj.personStatify &&
  334. this.formObj.note
  335. ) {
  336. this.formObj.status = "2";
  337. }
  338. if (
  339. this.formObj.location == undefined &&
  340. this.formObj.lgtdpc == undefined &&
  341. this.formObj.lttdpc == undefined &&
  342. this.formObj.projectType == undefined &&
  343. this.formObj.isCalFee == undefined &&
  344. this.formObj.fee == undefined &&
  345. this.formObj.isKnowFeeProcent == undefined &&
  346. this.formObj.payFeeProcent == undefined &&
  347. this.formObj.projectNote == undefined &&
  348. this.formObj.projectLogo == undefined &&
  349. this.formObj.projectThreePerson == undefined &&
  350. this.formObj.projectDesc == undefined &&
  351. this.formObj.isOwnCleanTool == undefined &&
  352. this.formObj.isDisinfNormal == undefined &&
  353. this.formObj.waterCheckCount == undefined &&
  354. this.formObj.waterQuaHaveNote == undefined &&
  355. this.formObj.projectPerson == undefined &&
  356. this.formObj.weihuPerson == undefined &&
  357. this.formObj.biaozhunCreate == undefined &&
  358. this.formObj.personStatify == undefined &&
  359. this.formObj.note == undefined
  360. ) {
  361. this.formObj.status = "0";
  362. }
  363. this.$refs.formRef.validate((valid)=>{
  364. if(valid){
  365. this.$confirm('确认保存水费收缴及水质保障情况信息?', '提示', {
  366. confirmButtonText: '确定',
  367. cancelButtonText: '取消',
  368. type: 'warning'
  369. })
  370. .then(() => {
  371. if (_self.operationType1 == 'add') {
  372. try {
  373. request.post('/bis/zhejiang/country/fee', _self.formObj).then((res) => {
  374. if (res.success) {
  375. _self.$message.success("添加成功");
  376. this.$emit("closeDialog","success");
  377. }
  378. });
  379. } catch (e) {
  380. }
  381. } else if (_self.operationType1 == 'update') {
  382. try {
  383. request.post('/bis/zhejiang/country/fee', _self.formObj).then((res) => {
  384. if (res.success) {
  385. _self.$message.success("修改成功");
  386. this.$emit("closeDialog","success");
  387. }
  388. });
  389. } catch (e) {
  390. }
  391. }
  392. })
  393. .catch(() => {
  394. });
  395. }else{
  396. this.$message.warning('请检查填写内容')
  397. return false
  398. }
  399. })
  400. },
  401. cancelHandler() {
  402. this.$emit('cancelHandler');
  403. },
  404. addProblem(item) {
  405. let rest = null;
  406. if(item == "isDisinfNormal"){
  407. rest = this.rsvrRules.filter(e => {
  408. return e.iValue === this.formObj.isDisinfNormal && e.eName === item;
  409. });
  410. }else{
  411. rest = this.rsvrRules.filter(e => {
  412. return e.eName === item;
  413. });
  414. }
  415. this.probId = rest[0].id;
  416. this.showAddProblemDialog = true
  417. },
  418. formatRadio(val) {
  419. if (val == '1') {
  420. return '是'
  421. } else if (val == '2') {
  422. return '否'
  423. } else {
  424. return val
  425. }
  426. },
  427. findItemByType(){
  428. const obj ={
  429. tname: "BIS_ZHEJIANG_COUNTRY_FEE"
  430. }
  431. request.post("/bis/insp/item/ques/info/findItemByType",obj).then(res =>{
  432. this.rsvrRules = res.data;
  433. })
  434. },
  435. closePlDialog(val) {
  436. this.showAddProblemDialog = false;
  437. },
  438. closeTianBaoDialog(){
  439. this.$emit("closeDialog");
  440. },
  441. getdialogFormVisible(val){
  442. this.showProblemList = val
  443. },
  444. },
  445. }
  446. </script>
  447. <style>
  448. .input50{
  449. width: 100px;
  450. }
  451. .w200{
  452. width: 300px;
  453. }
  454. .input300{
  455. width: 300px;
  456. }
  457. #dcdxHeader {
  458. padding: 15px 20px;
  459. }
  460. #dxdcFooter {
  461. text-align: center;
  462. }
  463. #dxdcAside {
  464. border: 1px solid #d5d5ff;
  465. }
  466. .el-dialog__wrapper .el-treeWhite {
  467. /* max-height: 260px !important; */
  468. }
  469. .add-problem-icon {
  470. font-size: 16px;
  471. }
  472. </style>