074cb6f4b9e9e5bf3296a8c97c5fec98f8a7a3e4.svn-base 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. <template>
  2. <div>
  3. <el-container>
  4. <el-main id="dxdcListMain" style="padding:5px 20px;" :style="{'height':dxdcMainHeight+'px'}">
  5. <div>
  6. <h3 style="text-align: center">
  7. {{fenggongxianName}}“三个重点环节”
  8. <el-button
  9. type="primary"
  10. @click="toAddMember('添加')"
  11. style="float: right;margin: 0 0 10px;"
  12. >
  13. <i class="el-icon-circle-plus"></i> 添加
  14. </el-button>
  15. </h3>
  16. </div>
  17. <el-table
  18. border
  19. :data="villageList"
  20. tooltip-effect="dark"
  21. style="width: 100%"
  22. v-loading="loading"
  23. >
  24. <el-table-column align="center" type="index" label="序号" min-width="45">
  25. <template slot-scope="scope">{{ (pageIndex - 1) * pageSize + (scope.$index + 1) }}</template>
  26. </el-table-column>
  27. <el-table-column
  28. align="center"
  29. show-overflow-tooltip
  30. prop="adNm"
  31. label="行政村名(*县*乡镇*村)"
  32. min-width="160"
  33. ></el-table-column>
  34. <el-table-column
  35. align="center"
  36. show-overflow-tooltip
  37. prop="isPoverty"
  38. label="是否贫困村"
  39. min-width="80"
  40. >
  41. <template slot-scope="scope">
  42. <span>{{formatRadio(scope.row.isPoverty)}}</span>
  43. </template>
  44. </el-table-column>
  45. <el-table-column
  46. align="center"
  47. show-overflow-tooltip
  48. prop="isFluexc"
  49. label="是否氟超标地区"
  50. min-width="100"
  51. >
  52. <template slot-scope="scope">
  53. <span>{{formatRadio(scope.row.isFluexc)}}</span>
  54. </template>
  55. </el-table-column>
  56. <el-table-column
  57. align="center"
  58. show-overflow-tooltip
  59. prop="isMtarea"
  60. label="是否山区"
  61. min-width="70"
  62. >
  63. <template slot-scope="scope">
  64. <span>{{formatRadio(scope.row.isMtarea)}}</span>
  65. </template>
  66. </el-table-column>
  67. <el-table-column
  68. align="center"
  69. show-overflow-tooltip
  70. prop="isCenwtSupply"
  71. label="是否集中供水村"
  72. min-width="100"
  73. >
  74. <template slot-scope="scope">
  75. <span>{{formatRadio(scope.row.isCenwtSupply)}}</span>
  76. </template>
  77. </el-table-column>
  78. <el-table-column
  79. align="center"
  80. show-overflow-tooltip
  81. prop="watersupplyPer"
  82. label="集中供水人口比例"
  83. min-width="110"
  84. >
  85. <template slot-scope="scope">
  86. <span>{{scope.row.watersupplyPer ? scope.row.watersupplyPer * 100 + '%' : ''}}</span>
  87. </template>
  88. </el-table-column>
  89. <!-- <el-table-column align="center" show-overflow-tooltip prop="recPers2" label="记录人员" min-width="80"></el-table-column> -->
  90. <!-- <el-table-column align="center" show-overflow-tooltip prop="recPersTel" label="记录人员电话" min-width="80"></el-table-column> -->
  91. <el-table-column
  92. align="center"
  93. sortable
  94. show-overflow-tooltip
  95. prop="visitDate"
  96. label="暗访日期"
  97. min-width="80"
  98. ></el-table-column>
  99. <!-- <el-table-column align="center" show-overflow-tooltip prop="bornDate" label="暗访组(人)名单" min-width="80"></el-table-column> -->
  100. <el-table-column
  101. align="center"
  102. show-overflow-tooltip
  103. label="操作"
  104. min-width="160"
  105. fixed="right"
  106. >
  107. <template slot-scope="scope">
  108. <el-button type="success" plain @click="toAddMember('编辑',scope.row)">编辑</el-button>
  109. <el-button type="danger" plain @click="deleteMember(scope.row)">删除</el-button>
  110. </template>
  111. </el-table-column>
  112. </el-table>
  113. </el-main>
  114. <el-footer id="dxdcFooter">
  115. <el-pagination
  116. background
  117. @current-change="handleCurrentChange"
  118. :pager-count="5"
  119. :current-page.sync="pageIndex"
  120. :page-size="pageSize"
  121. layout="total, prev, pager, next"
  122. :total="total"
  123. ></el-pagination>
  124. </el-footer>
  125. </el-container>
  126. <!-- 添加/编辑人员弹窗 -->
  127. <el-dialog :title="'三个重点环节填报'" :visible.sync="dialogFormVisible">
  128. <el-container style="height:520px;">
  129. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  130. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">信息填报</p>
  131. <el-form :model="formObj" :label-width="formLabelWidth">
  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-radio v-model="formObj.isPoverty" label="1" :disabled="!engId">是</el-radio>
  139. <el-radio v-model="formObj.isPoverty" label="0" :disabled="!engId">否</el-radio>
  140. </el-form-item>
  141. <el-form-item label="是否批复或备案">
  142. <el-radio v-model="formObj.isFluexc" label="1" :disabled="!engId">是</el-radio>
  143. <el-radio v-model="formObj.isFluexc" label="0" :disabled="!engId">否</el-radio>
  144. </el-form-item>
  145. <el-form-item label="是否进行演练">
  146. <el-radio v-model="formObj.isMtarea" label="1" :disabled="!engId">是</el-radio>
  147. <el-radio v-model="formObj.isMtarea" label="0" :disabled="!engId">否</el-radio>
  148. </el-form-item>
  149. <el-form-item label="是否具备操作性">
  150. <el-radio v-model="formObj.isCenwtSupply" label="1" :disabled="!engId">是</el-radio>
  151. <el-radio v-model="formObj.isCenwtSupply" label="0" :disabled="!engId">否</el-radio>
  152. </el-form-item>
  153. <p style="margin-top:10px;margin-bottom: 10px">
  154. <i class="el-icon-caret-right"></i>
  155. <span style="width:120px;padding-left: 10px">水库调度运用方案</span>
  156. <span class="hrs"></span>
  157. </p>
  158. <el-form-item label="是否编制">
  159. <el-radio v-model="formObj.isPoverty" label="1" :disabled="!engId">是</el-radio>
  160. <el-radio v-model="formObj.isPoverty" label="0" :disabled="!engId">否</el-radio>
  161. </el-form-item>
  162. <el-form-item label="是否批复">
  163. <el-radio v-model="formObj.isFluexc" label="1" :disabled="!engId">是</el-radio>
  164. <el-radio v-model="formObj.isFluexc" label="0" :disabled="!engId">否</el-radio>
  165. </el-form-item>
  166. <el-form-item label="是否具备操作性">
  167. <el-radio v-model="formObj.isMtarea" label="1" :disabled="!engId">是</el-radio>
  168. <el-radio v-model="formObj.isMtarea" label="0" :disabled="!engId">否</el-radio>
  169. </el-form-item>
  170. <p style="margin-top:10px;margin-bottom: 10px">
  171. <i class="el-icon-caret-right"></i>
  172. <span style="width:120px;padding-left: 10px">水雨情预测预报</span>
  173. <span class="hrs"></span>
  174. </p>
  175. <el-form-item label="是否有能力开展">
  176. <el-radio v-model="formObj.isPoverty" label="1" :disabled="!engId">是</el-radio>
  177. <el-radio v-model="formObj.isPoverty" label="0" :disabled="!engId">否</el-radio>
  178. </el-form-item>
  179. <el-form-item label="操作">
  180. <el-button @click="dialogFormVisible = false">取 消</el-button>
  181. <el-button type="primary" @click="addVillage">确 定</el-button>
  182. </el-form-item>
  183. </el-form>
  184. </el-main>
  185. </el-container>
  186. </el-dialog>
  187. </div>
  188. </template>
  189. <script>
  190. import provTreeList from "../../../widgets/villageList_nongyin.vue";
  191. import inputWith from "../../../widgets/inuptWith.vue";
  192. import request from "../../../utils/gw_ajax_request.js";
  193. import { getTableId_ny, updateTable1_ny } from "../../../api/duChaTianBao.js";
  194. import { formatDateTimeD } from "../../../utils/gw_date.js";
  195. export default {
  196. components: {
  197. provTreeList: provTreeList,
  198. inputWith: inputWith
  199. },
  200. props: ["fengongxianCode", "engId", "fenggongxianName"],
  201. data() {
  202. return {
  203. dxdcMainHeight: window.innerHeight - 197,
  204. dxdcAsideHeight: window.innerHeight - 90,
  205. formObj: {
  206. engId: "",
  207. adNm: "",
  208. villageCode: "",
  209. isPoverty: "",
  210. isFluexc: "",
  211. isMtarea: "",
  212. isCenwtSupply: "",
  213. watersupplyPer: "",
  214. recPers2: "",
  215. recPersId: "",
  216. recPersTel: "",
  217. visitDate: "",
  218. createTime: "",
  219. visitDate: ""
  220. },
  221. getEngId: false,
  222. searchObj: {
  223. pageNum: "",
  224. pageSize: 20
  225. },
  226. pageIndex: 1,
  227. pageSize: 20,
  228. total: 1,
  229. villageList: [],
  230. dialogFormVisible: false,
  231. formLabelWidth: "160px",
  232. curOperate: "",
  233. isExits: false,
  234. loading: true
  235. };
  236. },
  237. computed: {
  238. recPersId() {
  239. return localStorage.getItem("userid")
  240. ? localStorage.getItem("userid")
  241. : "1098101939614724096";
  242. }
  243. },
  244. mounted() {
  245. // this.getVillageList()
  246. },
  247. watch: {
  248. engId(newVal, oldVal) {
  249. console.log(oldVal);
  250. console.log(newVal);
  251. if (newVal) {
  252. this.loading = true;
  253. this.getVillageList();
  254. }
  255. }
  256. },
  257. methods: {
  258. submitTable: function() {
  259. updateTable1_ny(
  260. this.formObj.adNm,
  261. this.engId,
  262. this.formObj.isCenwtSupply,
  263. this.formObj.isFluexc,
  264. this.formObj.isMtarea,
  265. this.formObj.isPoverty,
  266. this.formObj.recPers2,
  267. this.formObj.recPersId,
  268. this.formObj.recPersTel,
  269. this.formObj.status,
  270. this.formObj.villageCode,
  271. this.formObj.visitDate,
  272. this.formObj.watersupplyPer
  273. ).then(res => {
  274. this.dialogFormVisible = false;
  275. this.getVillageList();
  276. });
  277. },
  278. //村列表
  279. getVillageList() {
  280. this.searchObj.pageNum = this.pageIndex;
  281. this.searchObj.engId = this.engId;
  282. let paramsObj = this.searchObj;
  283. request
  284. .post("/dc/insp/secsurveyVlg/queryListByPage", paramsObj)
  285. .then(res => {
  286. if (res.success) {
  287. this.villageList = res.data.list;
  288. this.total = res.data.total;
  289. this.loading = false;
  290. }
  291. });
  292. },
  293. //添加行政村
  294. addVillage() {
  295. this.formObj.engId = this.engId;
  296. this.formObj.recPersId = this.recPersId;
  297. let addObj = {};
  298. Object.assign(addObj, this.formObj);
  299. addObj.watersupplyPer = this.formObj.watersupplyPer / 100;
  300. if (!this.formObj.adNm) {
  301. this.$message.info("请选择行政村");
  302. return;
  303. }
  304. if (addObj.watersupplyPer > 1) {
  305. this.$message.info("集中供水人口比例不能超过100%");
  306. return;
  307. }
  308. //判断新添加的村是否已存在
  309. let getByObj = {
  310. engId: addObj.engId,
  311. villageCode: addObj.villageCode
  312. };
  313. if (this.curOperate == "添加") {
  314. request.post("/dc/insp/secsurveyVlg/getBy", getByObj).then(res => {
  315. if (res.success) {
  316. if (res.data.adNm) {
  317. this.$message.info("该行政村已存在");
  318. } else {
  319. request.post("/dc/insp/secsurveyVlg/insert", addObj).then(res => {
  320. if (res.success) {
  321. this.dialogFormVisible = false;
  322. this.getVillageList();
  323. this.$message.success("添加成功");
  324. } else {
  325. this.$message.error(res.message);
  326. }
  327. });
  328. }
  329. } else {
  330. this.$message.error(res.message);
  331. }
  332. });
  333. } else if (this.curOperate == "编辑") {
  334. request.post("/dc/insp/secsurveyVlg/update", addObj).then(res => {
  335. if (res.success) {
  336. this.getVillageList();
  337. this.dialogFormVisible = false;
  338. this.$message.success("修改成功");
  339. } else {
  340. this.$message.error(res.message);
  341. }
  342. });
  343. }
  344. },
  345. toAddMember(type, row) {
  346. this.curOperate = type;
  347. let rowObj = {};
  348. Object.assign(rowObj, row);
  349. if (this.curOperate == "编辑") {
  350. this.formObj = rowObj;
  351. this.formObj.watersupplyPer = this.formObj.watersupplyPer * 100;
  352. } else {
  353. for (var obj in this.formObj) {
  354. this.formObj[obj] = "";
  355. }
  356. this.formObj.visitDate = formatDateTimeD();
  357. }
  358. this.dialogFormVisible = true;
  359. },
  360. addTable() {
  361. this.formObj = {
  362. engId: "",
  363. adNm: "",
  364. villageCode: "",
  365. isPoverty: "",
  366. isFluexc: "",
  367. isMtarea: "",
  368. isCenwtSupply: "",
  369. watersupplyPer: "",
  370. recPers2: "",
  371. recPersTel: "",
  372. visitDate: ""
  373. };
  374. this.getEngId = false;
  375. this.dialogFormVisible = true;
  376. },
  377. deleteMember(row) {
  378. this.$confirm("确定删除该村吗?", "提示", {
  379. confirmButtonText: "确定",
  380. cancelButtonText: "取消",
  381. type: "warning"
  382. })
  383. .then(() => {
  384. request.post(`/dc/insp/secsurveyVlg/${row.villId}`).then(res => {
  385. if (res.success) {
  386. this.getVillageList();
  387. this.dialogFormVisible = false;
  388. this.$message({
  389. type: "success",
  390. message: "删除成功!"
  391. });
  392. }
  393. });
  394. })
  395. .catch(() => {
  396. this.$message({
  397. type: "info",
  398. message: "已取消删除"
  399. });
  400. });
  401. },
  402. //查询
  403. onSubmit() {
  404. // this.searchObj.orgId = ''
  405. this.getVillageList();
  406. },
  407. //分页
  408. handleCurrentChange(val) {
  409. this.getVillageList();
  410. },
  411. //村信息
  412. provTreeSelectChangeHandler(params) {
  413. this.formObj.adNm = params.name;
  414. this.formObj.villageCode = params.code;
  415. },
  416. formatRadio(val) {
  417. if (val == "1") {
  418. return "是";
  419. } else if (val == "0") {
  420. return "否";
  421. } else {
  422. return val;
  423. }
  424. }
  425. }
  426. };
  427. </script>
  428. <style>
  429. #dcdxHeader {
  430. padding: 15px 20px;
  431. }
  432. #dxdcFooter {
  433. text-align: center;
  434. }
  435. #dxdcAside {
  436. border: 1px solid #d5d5ff;
  437. }
  438. .el-dialog__wrapper .el-treeWhite {
  439. /* max-height: 260px !important; */
  440. }
  441. </style>