eeefb1b4e2333c3274e0e4bb9fdfe314eddcea0d.svn-base 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  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. <el-button type="warning" style="float: right;" @click="recentAppearance">近期面貌</el-button>
  12. <el-button type="warning" style="float: right; margin-right: 10px;" @click="imageClick">影像
  13. </el-button>
  14. </p>
  15. <el-form :model="formObj" :label-width="formLabelWidth" :rules="rules">
  16. <!-- <el-form-item label="对象名称">-->
  17. <!-- <el-input type="text" v-model="formObj.adName" class="w200" clearable placeholder="请输入对象名称"></el-input>-->
  18. <!-- </el-form-item>-->
  19. <!-- <el-form-item label="行政区划全称">-->
  20. <!-- <el-input type="text" v-model="formObj.adFullName" class="w200" clearable placeholder="请输入行政区划全称"></el-input>-->
  21. <!-- </el-form-item>-->
  22. <!-- <el-form-item label="村组名称">-->
  23. <!-- <el-input type="text" v-model="formObj.addr" class="w200" clearable placeholder="请输入村组"></el-input>-->
  24. <!-- </el-form-item>-->
  25. <el-form-item label="地点">
  26. <el-input type="text" v-model="formObj.villageNm" class="w200" clearable
  27. placeholder="请输入地点"></el-input>
  28. </el-form-item>
  29. <el-form-item label="姓名">
  30. <el-input type="text" v-model="formObj.userNm" class="w200" clearable
  31. placeholder="请输入姓名"></el-input>
  32. </el-form-item>
  33. <!-- <el-form-item label="电话">-->
  34. <!-- <el-input type="text" v-model="formObj.telphone" class="w200" clearable placeholder="请输入电话"></el-input>-->
  35. <!-- </el-form-item>-->
  36. <el-form-item label="经度">
  37. <el-input type="text" v-model="formObj.centerX" class="w200" clearable
  38. placeholder="请输入经度"></el-input>
  39. </el-form-item>
  40. <el-form-item label="纬度">
  41. <el-input type="text" v-model="formObj.centerY" class="w200" clearable
  42. placeholder="请输入纬度"></el-input>
  43. </el-form-item>
  44. <!-- <el-form-item label="暗访人名称">-->
  45. <!-- <el-input type="text" v-model="formObj.recPers" class="w200" clearable placeholder="请输入"></el-input>-->
  46. <!-- </el-form-item>-->
  47. <el-form-item label="暗访日期">
  48. <el-date-picker
  49. v-model="formObj.visitDate"
  50. format="yyyy-MM-dd"
  51. type="date"
  52. placeholder="选择日期">
  53. </el-date-picker>
  54. </el-form-item>
  55. <p style=";margin-top:10px;margin-bottom: 10px">
  56. <i class="el-icon-caret-right"></i>
  57. <span style="width:120px;padding-left: 10px">水量</span>
  58. <span class="hrs"></span>
  59. </p>
  60. <el-form-item label="是否达标">
  61. <el-radio v-model="formObj.isAmple" label="1">达标</el-radio>
  62. <el-radio v-model="formObj.isAmple" label="2">基本达标</el-radio>
  63. <el-radio v-model="formObj.isAmple" label="3">否</el-radio>
  64. <el-button
  65. @click="addProblem('isAmple')"
  66. type="text"
  67. v-if="formObj.isAmple =='3'">
  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.isQuilty" label="1">达标</el-radio>
  78. <el-radio v-model="formObj.isQuilty" label="2">基本达标</el-radio>
  79. <el-radio v-model="formObj.isQuilty" label="3">否</el-radio>
  80. <el-button
  81. @click="addProblem('isQuilty')"
  82. type="text"
  83. v-if="formObj.isQuilty =='3'">
  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">
  88. <i class="el-icon-caret-right"></i>
  89. <span style="width:120px;padding-left: 10px">用水方便程度</span>
  90. <span class="hrs"></span>
  91. </p>
  92. <el-form-item label="是否达标">
  93. <el-radio v-model="formObj.isEasy" label="1">达标</el-radio>
  94. <el-radio v-model="formObj.isEasy" label="2">基本达标</el-radio>
  95. <el-radio v-model="formObj.isEasy" label="3">否</el-radio>
  96. <el-button
  97. @click="addProblem('isEasy')"
  98. type="text"
  99. v-if="formObj.isEasy =='3'">
  100. <i class="el-icon-circle-plus add-problem-icon"></i>
  101. </el-button>
  102. </el-form-item>
  103. <p style=";margin-top:10px;margin-bottom: 10px">
  104. <i class="el-icon-caret-right"></i>
  105. <span style="width:120px;padding-left: 10px">供水保障率</span>
  106. <span class="hrs"></span>
  107. </p>
  108. <el-form-item label="是否达标">
  109. <el-radio v-model="formObj.isSafe" label="1">达标</el-radio>
  110. <el-radio v-model="formObj.isSafe" label="2">基本达标</el-radio>
  111. <el-radio v-model="formObj.isSafe" label="3">否</el-radio>
  112. <el-button
  113. @click="addProblem('isSafe')"
  114. type="text"
  115. v-if="formObj.isSafe =='3'">
  116. <i class="el-icon-circle-plus add-problem-icon"></i>
  117. </el-button>
  118. </el-form-item>
  119. <p style=";margin-top:10px;margin-bottom: 10px">
  120. <i class="el-icon-caret-right"></i>
  121. <span style="width:120px;padding-left: 10px">供水服务</span>
  122. <span class="hrs"></span>
  123. </p>
  124. <el-form-item label="是否知晓服务人员或了解服务电话">
  125. <el-radio v-model="formObj.isKnowServicer" label="1">是</el-radio>
  126. <el-radio v-model="formObj.isKnowServicer" label="2">否</el-radio>
  127. <el-button
  128. @click="addProblem('isKnowServicer')"
  129. type="text"
  130. v-if="formObj.isKnowServicer =='2'">
  131. <i class="el-icon-circle-plus add-problem-icon"></i>
  132. </el-button>
  133. </el-form-item>
  134. <el-form-item label="">
  135. <el-button type="primary" @click="addHandler" v-if="openType">保 存</el-button>
  136. </el-form-item>
  137. </el-form>
  138. </el-main>
  139. <problem-list
  140. v-if="showProblemList"
  141. :showProblemList='showProblemList'
  142. :currentObjectId="currentObjectId"
  143. :currentObjectName="rowData.adName"
  144. :problemMiddleType="'2020人饮'"
  145. :problData="probId"
  146. :openType="openType"
  147. @dialogFormVisible="getdialogFormVisible"
  148. :currentObjectRgstrId="currentObjectRgstrId"
  149. :rowData="rowData"
  150. :yshRowData="yshRowData"
  151. :oriFatherName="oriFatherName"
  152. :villageNm="villageNm"
  153. ></problem-list>
  154. </el-container>
  155. </el-dialog>
  156. <theRecentAppearance v-if="xcztShow" @jqmmDialogClose="jqmmDialog" :jqmmShow="xcztShow" :openType="openType"
  157. :jqmmEngId="yshRowData.id" :dialogTitle="yshRowData.userNm + '近期面貌'"
  158. style="z-index: 9999;"></theRecentAppearance>
  159. <!--影像弹窗-->
  160. <el-dialog :title="yshRowData.userNm + '影像'" :visible.sync="imageShow" append-to-body
  161. :close-on-click-modal="false"
  162. width="60%">
  163. <div style="height: 60vh;">
  164. <mapLocation ref="mapRef" v-if="imageShow" :gdX="formObj.centerX" :gdY="formObj.centerX"></mapLocation>
  165. </div>
  166. </el-dialog>
  167. </div>
  168. </template>
  169. <script>
  170. import theRecentAppearance from '../../duChaDuiXiang/theRecentAppearance'
  171. import mapLocation from '../mapLocation'
  172. import inputWith from "@widget/inuptWith.vue"
  173. import request from "@util/gw_ajax_request.js"
  174. import problemList from '../../addProlemMidForm/ncysaqProblemList'
  175. export default {
  176. components: {
  177. inputWith: inputWith,
  178. problemList,
  179. theRecentAppearance,
  180. mapLocation
  181. },
  182. props: ['rowData', 'currentObjectId', 'currentObjectName', 'currentObjectRgstrId', 'yshRowData', 'oriFatherName', 'villageNm', 'openType'],
  183. data() {
  184. return {
  185. xx: "",
  186. objtbStatu: {
  187. presStat: "",
  188. rgstrId: "",
  189. },
  190. rules: {
  191. // wiunWaoLegPersTel: [
  192. // {validator: checkTel, trigger: 'blur'}
  193. // ],
  194. // techPersTel: [
  195. // {validator: checkTel, trigger: 'blur'}
  196. // ],
  197. // patrolPersTel: [
  198. // {validator: checkTel, trigger: 'blur'}
  199. // ],
  200. },
  201. formObj: {
  202. adName: "",
  203. adFullName: "",
  204. addr: "",
  205. userNm: "",
  206. villageNm: "",
  207. telphone: "",
  208. isAmple: "",
  209. isQuilty: "",
  210. recPers: "",
  211. isEasy: "",
  212. isSafe: "",
  213. isKnowServicer: "",
  214. visitDate: "",
  215. centerX: "",
  216. centerY: "",
  217. status: 0, //填报状态
  218. },
  219. dialogFormVisible: true,
  220. formLabelWidth: '300px',
  221. loading: true,
  222. operationType1: '',
  223. rsvrRules: null,
  224. probId: '',
  225. showProblemList: false,
  226. xcztShow: false,
  227. imageShow: false,
  228. }
  229. },
  230. computed: {
  231. recPersId() {
  232. return localStorage.getItem("userid") ? localStorage.getItem("userid") : ''
  233. }
  234. },
  235. created() {
  236. this.findItemByType()
  237. },
  238. mounted() {
  239. this.getRgstridObj();
  240. },
  241. watch: {},
  242. methods: {
  243. // 近期面貌
  244. recentAppearance() {
  245. this.xcztShow = true;
  246. },
  247. jqmmDialog() {
  248. this.xcztShow = false;
  249. },
  250. //影像
  251. imageClick() {
  252. if (!this.formObj.centerX && !this.formObj.centerX) {
  253. this.$message.warning('暂无经纬度信息!');
  254. return false;
  255. }
  256. this.imageShow = true;
  257. },
  258. formatDate(val) {
  259. if (val == null || val == "") {
  260. return "";
  261. } else {
  262. var d = new Date(val);
  263. return d.getFullYear + "-" + (d.getMonth() + 1) + "-" + d.getDate();
  264. }
  265. },
  266. getRgstridObj() {
  267. var _self = this;
  268. request.get(`/bis/insp/villqh/poor/${this.yshRowData.id}`)
  269. .then((res) => {
  270. if (res.data) {
  271. _self.formObj = res.data;
  272. }
  273. });
  274. },
  275. addHandler() {
  276. var _self = this;
  277. _self.formObj['rgstrId'] = _self.rowData.rgstrId;
  278. _self.formObj['recPersId'] = _self.recPersId;
  279. this.$confirm('确认保存农牧民情况信息?', '提示', {
  280. confirmButtonText: '确定',
  281. cancelButtonText: '取消',
  282. type: 'warning'
  283. })
  284. .then(() => {
  285. try {
  286. request.post('/bis/insp/villqh/poor', _self.formObj).then((res) => {
  287. if (res.success) {
  288. _self.$message.success("添加成功");
  289. _self.$emit("addShuiKuSuccess");
  290. }
  291. });
  292. } catch (e) {
  293. }
  294. })
  295. .catch(() => {
  296. });
  297. },
  298. cancelHandler() {
  299. this.$emit('cancelHandler');
  300. },
  301. addProblem(item) {
  302. let rest = this.rsvrRules.filter(e => {
  303. return e.eName === item;
  304. });
  305. this.probId = rest[0].id;
  306. this.showProblemList = true
  307. },
  308. formatRadio(val) {
  309. if (val == '1') {
  310. return '是'
  311. } else if (val == '2') {
  312. return '否'
  313. } else {
  314. return val
  315. }
  316. },
  317. findItemByType() {
  318. const obj = {
  319. tname: "BIS_INSP_VILLQH_POOR"
  320. }
  321. request.post("/bis/insp/item/ques/info/findItemByType", obj).then(res => {
  322. this.rsvrRules = res.data;
  323. })
  324. },
  325. closeTianBaoDialog() {
  326. this.$emit("closeDialog");
  327. },
  328. getdialogFormVisible(val) {
  329. this.showProblemList = val
  330. },
  331. },
  332. }
  333. </script>
  334. <style>
  335. .input50 {
  336. width: 100px;
  337. }
  338. .w200 {
  339. width: 300px;
  340. }
  341. .input300 {
  342. width: 300px;
  343. }
  344. #dcdxHeader {
  345. padding: 15px 20px;
  346. }
  347. #dxdcFooter {
  348. text-align: center;
  349. }
  350. #dxdcAside {
  351. border: 1px solid #d5d5ff;
  352. }
  353. .el-dialog__wrapper .el-treeWhite {
  354. /* max-height: 260px !important; */
  355. }
  356. .add-problem-icon {
  357. font-size: 16px;
  358. }
  359. </style>