ea7307bdf25495e6c7a722df3d235cdfa63c24dd.svn-base 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  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. <p style="margin-top:10px;margin-bottom: 10px;overflow: hidden;"><i class="el-icon-caret-right"></i><span
  10. style="width:120px;padding-left: 10px">基本信息</span><span class="hrs"></span>
  11. </p>
  12. <el-form :model="formObj" :label-width="formLabelWidth" :rules="rules">
  13. <el-form-item label="姓名">
  14. <el-input type="text" v-model="formObj.userNm" class="w200" clearable
  15. placeholder="请输入姓名"></el-input>
  16. <i @click="showPic('userNm')" class="el-icon-upload" style="color:#5bb7e7;font-size:25px;cursor:pointer;"></i>
  17. </el-form-item>
  18. <el-form-item label="联系方式">
  19. <el-input type="text" v-model="formObj.telphone" class="w200" clearable
  20. placeholder="请输入联系方式"></el-input>
  21. </el-form-item>
  22. <el-form-item label="团场连队">
  23. <el-input type="text" v-model="formObj.loc" class="w200" clearable
  24. placeholder="请输入团场连队"></el-input>
  25. </el-form-item>
  26. <p style=";margin-top:10px;margin-bottom: 10px">
  27. <i class="el-icon-caret-right"></i>
  28. <span style="width:120px;padding-left: 10px">水量</span>
  29. <span class="hrs"></span>
  30. </p>
  31. <el-form-item label="水量是否供水入户">
  32. <el-radio v-model="formObj.isInHome" label="1">是</el-radio>
  33. <el-radio v-model="formObj.isInHome" label="2">否</el-radio>
  34. <el-button
  35. @click="addProblem('isInHome')"
  36. type="text"
  37. v-if="formObj.isInHome =='2'">
  38. <i class="el-icon-circle-plus add-problem-icon"></i>
  39. </el-button>
  40. </el-form-item>
  41. <el-form-item label="水量是否稳定">
  42. <el-radio v-model="formObj.isCalm" label="1">是</el-radio>
  43. <el-radio v-model="formObj.isCalm" label="2">否</el-radio>
  44. <el-button
  45. @click="addProblem('isCalm')"
  46. type="text"
  47. v-if="formObj.isCalm =='2'">
  48. <i class="el-icon-circle-plus add-problem-icon"></i>
  49. </el-button>
  50. </el-form-item>
  51. <el-form-item label="是否24小时供水">
  52. <el-radio v-model="formObj.isDay" label="1">是</el-radio>
  53. <el-radio v-model="formObj.isDay" label="2">否</el-radio>
  54. <el-button
  55. @click="addProblem('isDay')"
  56. type="text"
  57. v-if="formObj.isDay =='2'">
  58. <i class="el-icon-circle-plus add-problem-icon"></i>
  59. </el-button>
  60. </el-form-item>
  61. <el-form-item label="水量是否够用(60升/人·天)">
  62. <el-radio v-model="formObj.isEnough" label="1">是</el-radio>
  63. <el-radio v-model="formObj.isEnough" label="2">否</el-radio>
  64. <el-button
  65. @click="addProblem('isEnough')"
  66. type="text"
  67. v-if="formObj.isEnough =='2'">
  68. <i class="el-icon-circle-plus add-problem-icon"></i>
  69. </el-button>
  70. </el-form-item>
  71. <p style=";margin-top:10px;margin-bottom: 10px">
  72. <i class="el-icon-caret-right"></i>
  73. <span style="width:120px;padding-left: 10px">水质</span>
  74. <span class="hrs"></span>
  75. </p>
  76. <el-form-item label="水质是否良好">
  77. <el-radio v-model="formObj.isWell" label="1">是</el-radio>
  78. <el-radio v-model="formObj.isWell" label="2">否</el-radio>
  79. <el-button
  80. @click="addProblem('isWell')"
  81. type="text"
  82. v-if="formObj.isWell =='2'">
  83. <i class="el-icon-circle-plus add-problem-icon"></i>
  84. </el-button>
  85. </el-form-item>
  86. <el-form-item label="饮用水中是否有肉眼可见杂质">
  87. <el-radio v-model="formObj.isImp" label="1">是</el-radio>
  88. <el-radio v-model="formObj.isImp" label="2">否</el-radio>
  89. <el-button
  90. @click="addProblem('isImp')"
  91. type="text"
  92. v-if="formObj.isImp =='1'">
  93. <i class="el-icon-circle-plus add-problem-icon"></i>
  94. </el-button>
  95. </el-form-item>
  96. <el-form-item label="饮用水中是否有异色异味">
  97. <el-radio v-model="formObj.isSmell" label="1">是</el-radio>
  98. <el-radio v-model="formObj.isSmell" label="2">否</el-radio>
  99. <el-button
  100. @click="addProblem('isSmell')"
  101. type="text"
  102. v-if="formObj.isSmell =='1'">
  103. <i class="el-icon-circle-plus add-problem-icon"></i>
  104. </el-button>
  105. </el-form-item>
  106. <p style=";margin-top:10px;margin-bottom: 10px">
  107. <i class="el-icon-caret-right"></i>
  108. <span style="width:120px;padding-left: 10px">水价</span>
  109. <span class="hrs"></span>
  110. </p>
  111. <el-form-item label="水价">
  112. <el-input type="text" v-model="formObj.price" class="w200" clearable
  113. placeholder="请输入水价"></el-input>
  114. </el-form-item>
  115. <p style=";margin-top:10px;margin-bottom: 10px">
  116. <i class="el-icon-caret-right"></i>
  117. <span style="width:120px;padding-left: 10px">供水服务</span>
  118. <span class="hrs"></span>
  119. </p>
  120. <el-form-item label="是否知晓服务人员电话">
  121. <el-radio v-model="formObj.isTel" label="1">是</el-radio>
  122. <el-radio v-model="formObj.isTel" label="2">否</el-radio>
  123. <el-button
  124. @click="addProblem('isTel')"
  125. type="text"
  126. v-if="formObj.isTel =='2'">
  127. <i class="el-icon-circle-plus add-problem-icon"></i>
  128. </el-button>
  129. </el-form-item>
  130. <p style=";margin-top:10px;margin-bottom: 10px">
  131. <i class="el-icon-caret-right"></i>
  132. <span style="width:120px;padding-left: 10px">总体评价</span>
  133. <span class="hrs"></span>
  134. </p>
  135. <el-form-item label="是否解决用水问题">
  136. <el-radio v-model="formObj.isSolve" label="1">是</el-radio>
  137. <el-radio v-model="formObj.isSolve" label="2">否</el-radio>
  138. <el-button
  139. @click="addProblem('isSolve')"
  140. type="text"
  141. v-if="formObj.isSolve =='2'">
  142. <i class="el-icon-circle-plus add-problem-icon"></i>
  143. </el-button>
  144. </el-form-item>
  145. <el-form-item label="其他">
  146. <el-input type="text" v-model="formObj.othr" class="w200" clearable
  147. placeholder="请输入其他"></el-input>
  148. </el-form-item>
  149. <el-form-item label="">
  150. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  151. </el-form-item>
  152. </el-form>
  153. </el-main>
  154. <problem-list
  155. v-if="showProblemList && openType"
  156. :showProblemList='showProblemList'
  157. :currentObjectId="currentObjectId"
  158. :currentObjectName="rowData.adName"
  159. :problemMiddleType="'新疆兵团农饮'"
  160. :problData="probId"
  161. :openType="openType"
  162. @dialogFormVisible="getdialogFormVisible"
  163. :currentObjectRgstrId="currentObjectRgstrId"
  164. :rowData="rowData"
  165. :yshRowData="yshRowData"
  166. :oriFatherName="oriFatherName"
  167. :villageNm="villageNm"
  168. ></problem-list>
  169. </el-container>
  170. </el-dialog>
  171. <add-pic-com v-if="jqmmDialogShow" :dialogTitle="'相关材料'" :jqmmEngId="id" :type="type" :openType="openType" @jqmmDialogClose="jqmmDialogClose"></add-pic-com>
  172. </div>
  173. </template>
  174. <script>
  175. import theRecentAppearance from '../../duChaDuiXiang/theRecentAppearance'
  176. import mapLocation from '../mapLocation'
  177. import addPicCom from "./addPic.vue"
  178. import inputWith from "@widget/inuptWith.vue"
  179. import request from "@util/gw_ajax_request.js"
  180. import problemList from '../../addProlemMidForm/ncysaqXjbtProblemList'
  181. export default {
  182. components: {
  183. inputWith: inputWith,
  184. problemList,
  185. theRecentAppearance,
  186. mapLocation,
  187. addPicCom
  188. },
  189. props: ['rowData', 'currentObjectId', 'currentObjectName', 'currentObjectRgstrId', 'yshRowData', 'oriFatherName', 'villageNm', 'openType'],
  190. data() {
  191. return {
  192. type:"",
  193. jqmmDialogShow:"",
  194. id:"",
  195. xx: "",
  196. objtbStatu: {
  197. presStat: "",
  198. rgstrId: "",
  199. },
  200. rules: {
  201. // wiunWaoLegPersTel: [
  202. // {validator: checkTel, trigger: 'blur'}
  203. // ],
  204. // techPersTel: [
  205. // {validator: checkTel, trigger: 'blur'}
  206. // ],
  207. // patrolPersTel: [
  208. // {validator: checkTel, trigger: 'blur'}
  209. // ],
  210. },
  211. formObj: {
  212. userNm:"",
  213. telphone:"",
  214. loc:"",
  215. isInHome:"",
  216. isCalm:"",
  217. isDay:"",
  218. isEnough:"",
  219. isWell:"",
  220. isImp:"",
  221. isSmell:"",
  222. price:"",
  223. isTel:"",
  224. isSolve:"",
  225. othr:""
  226. },
  227. dialogFormVisible: true,
  228. formLabelWidth: '300px',
  229. loading: true,
  230. operationType1: '',
  231. rsvrRules: null,
  232. probId: '',
  233. showProblemList: false,
  234. xcztShow: false,
  235. imageShow: false,
  236. }
  237. },
  238. computed: {
  239. recPersId() {
  240. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  241. }
  242. },
  243. created() {
  244. this.findItemByType()
  245. },
  246. mounted() {
  247. this.getRgstridObj();
  248. },
  249. watch: {},
  250. methods: {
  251. jqmmDialogClose() {
  252. this.jqmmDialogShow = false;
  253. },
  254. showPic(type){
  255. this.type = type
  256. this.jqmmDialogShow = true
  257. },
  258. // 近期面貌
  259. recentAppearance() {
  260. this.xcztShow = true;
  261. },
  262. jqmmDialog() {
  263. this.xcztShow = false;
  264. },
  265. //影像
  266. imageClick() {
  267. if (!this.formObj.centerX && !this.formObj.centerX) {
  268. this.$message.warning('暂无经纬度信息!');
  269. return false;
  270. }
  271. this.imageShow = true;
  272. },
  273. formatDate(val) {
  274. if (val == null || val == "") {
  275. return "";
  276. } else {
  277. var d = new Date(val);
  278. return d.getFullYear + "-" + (d.getMonth() + 1) + "-" + d.getDate();
  279. }
  280. },
  281. getRgstridObj() {
  282. var _self = this;
  283. request.get(`/bis/insp/xjvill/usr/${this.yshRowData.id}`)
  284. .then((res) => {
  285. if (res.data) {
  286. _self.formObj = res.data;
  287. _self.id = res.data.id;
  288. }
  289. });
  290. },
  291. addHandler() {
  292. var _self = this;
  293. _self.formObj['rgstrId'] = _self.rowData.rgstrId;
  294. _self.formObj['recPersId'] = _self.recPersId;
  295. this.$confirm('确认保存用水户情况信息?', '提示', {
  296. confirmButtonText: '确定',
  297. cancelButtonText: '取消',
  298. type: 'warning'
  299. })
  300. .then(() => {
  301. try {
  302. request.post('/bis/insp/xjvill/usr', _self.formObj).then((res) => {
  303. if (res.success) {
  304. _self.$message.success("添加成功");
  305. _self.$emit("addShuiKuSuccess");
  306. }
  307. });
  308. } catch (e) {
  309. }
  310. })
  311. .catch(() => {
  312. });
  313. },
  314. cancelHandler() {
  315. this.$emit('cancelHandler');
  316. },
  317. addProblem(item) {
  318. let rest = this.rsvrRules.filter(e => {
  319. return e.eName === item;
  320. });
  321. this.probId = rest[0].id;
  322. this.showProblemList = true
  323. },
  324. formatRadio(val) {
  325. if (val == '1') {
  326. return '是'
  327. } else if (val == '2') {
  328. return '否'
  329. } else {
  330. return val
  331. }
  332. },
  333. findItemByType() {
  334. const obj = {
  335. tname: "BIS_INSP_XJVILL_USR"
  336. }
  337. request.post("/bis/insp/item/ques/info/findItemByType", obj).then(res => {
  338. this.rsvrRules = res.data;
  339. })
  340. },
  341. closeTianBaoDialog() {
  342. this.$emit("closeDialog");
  343. },
  344. getdialogFormVisible(val) {
  345. this.showProblemList = val
  346. },
  347. },
  348. }
  349. </script>
  350. <style>
  351. .input50 {
  352. width: 100px;
  353. }
  354. .w200 {
  355. width: 300px;
  356. }
  357. .input300 {
  358. width: 300px;
  359. }
  360. #dcdxHeader {
  361. padding: 15px 20px;
  362. }
  363. #dxdcFooter {
  364. text-align: center;
  365. }
  366. #dxdcAside {
  367. border: 1px solid #d5d5ff;
  368. }
  369. .el-dialog__wrapper .el-treeWhite {
  370. /* max-height: 260px !important; */
  371. }
  372. .add-problem-icon {
  373. font-size: 16px;
  374. }
  375. </style>