db42c12a4a53da7d4bb0fc35d48be76e225ed4a1.svn-base 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. <template>
  2. <div id="skMain" style="height:100%;" v-loading="exportLoading">
  3. <el-row>
  4. <el-col :span="24">
  5. <div class="grid-content bg-purple-light">
  6. <div style="padding:15px 5px 5px 5px;">
  7. <span style="font-size: 12px;margin-left: 10px;">项目名称:</span>
  8. <el-input
  9. style="width:200px;"
  10. class="kjr-input"
  11. size="mini"
  12. v-model="name"
  13. placeholder="请输入名称查询"
  14. @keydown.enter.native="searchByName"
  15. clearable
  16. ></el-input>
  17. <span v-if="!dcztDisabled">
  18. <span style="font-size: 12px;margin-left: 20px;">督查状态:</span>
  19. <el-select
  20. v-model="state"
  21. placeholder="请选择"
  22. :disabled="dcztDisabled"
  23. style="width: 200px"
  24. clearable
  25. >
  26. <el-option
  27. v-for="item in dcOptions"
  28. :key="item.value"
  29. :label="item.label"
  30. :value="item.value"
  31. ></el-option>
  32. </el-select>
  33. </span>
  34. &nbsp;&nbsp;&nbsp;
  35. <el-button @click="searchByName" size="mini" type="primary">查询</el-button>
  36. <el-button @click="exPort" size="mini" type="success">导出</el-button>
  37. </div>
  38. <div style="padding:5px;">
  39. <el-col :span="5">
  40. <div style="height: 500px;overflow: auto">
  41. <provTreeList
  42. :rootCode="rootCode"
  43. :rootType="rootType"
  44. @provTreeSelectChange="provTreeSelectChangeHandler"
  45. ></provTreeList>
  46. </div>
  47. </el-col>
  48. <!-- table -->
  49. <el-col :span="19">
  50. <el-table
  51. :data="hhslDataList"
  52. v-loading="loading"
  53. height="468"
  54. border
  55. stripe
  56. style="width: 100%"
  57. >
  58. <el-table-column
  59. type="index"
  60. width="50"
  61. label="序号"
  62. align="center"
  63. :index="indexMethod_country"
  64. ></el-table-column>
  65. <el-table-column
  66. prop="name"
  67. label="项目名称"
  68. width="130"
  69. align="center"
  70. sortable
  71. fixed="left"
  72. ></el-table-column>
  73. <el-table-column prop="city" label="行政区名称" min-width="150" align="center"></el-table-column>
  74. <!-- <el-table-column prop="adCode" label="行政区编码" min-width="150" align="center"></el-table-column> -->
  75. <el-table-column prop="county" label="市县区名称" v-if="isXj" width="110" align="center"></el-table-column>
  76. <el-table-column
  77. prop="intm"
  78. label="创建时间"
  79. show-overflow-tooltip
  80. min-width="120"
  81. align="center"
  82. >
  83. <template slot-scope="scope">
  84. <span>{{formatDate(scope.row.intm)}}</span>
  85. </template>
  86. </el-table-column>
  87. <el-table-column prop="uptm" label="修改时间" align="center" min-width="120">
  88. <template slot-scope="scope">
  89. <span>{{formatDate(scope.row.uptm)}}</span>
  90. </template>
  91. </el-table-column>
  92. <el-table-column prop="location" label="工程详细地址" min-width="200"></el-table-column>
  93. <el-table-column prop="state" label="督查状态" align="center" min-width="130">
  94. <template slot-scope="scope">
  95. <span
  96. style="padding: 3px 10px;background:#F56C6C;border-radius:15px;color:rgba(255,255,255,1)"
  97. v-if="!scope.row.state || scope.row.state == 0"
  98. >未督查</span>
  99. <span
  100. style="padding: 3px 10px;background:#FBB56D;border-radius:15px;color:rgba(255,255,255,1)"
  101. v-if="scope.row.state == 1"
  102. >督查中</span>
  103. <span
  104. style="padding: 3px 10px;background:#63C25E;border-radius:15px;color:rgba(255,255,255,1)"
  105. v-if="scope.row.state == 2"
  106. >已督查</span>
  107. </template>
  108. </el-table-column>
  109. <!-- 操作 -->
  110. <el-table-column fixed="right" label="操作" min-width="200" align="center">
  111. <template slot-scope="scope" v-if="scope.row">
  112. <el-button type="text" size="small" @click="hhslInfo(scope.row,'loaction')">定位</el-button>
  113. <el-button type="text" size="small" @click="hhslInfo(scope.row,'baseInfo')">基础信息</el-button>
  114. <el-button type="text" size="small" @click="hhslInfo(scope.row,'dcInfo')">登记信息</el-button>
  115. </template>
  116. </el-table-column>
  117. </el-table>
  118. <!-- 分页 -->
  119. <div class="block">
  120. <el-pagination
  121. background
  122. :pager-count="5"
  123. :current-page="pageIndex"
  124. :page-size="pageSize"
  125. :page-sizes="[10, 20, 30, 40, 50, 100]"
  126. layout="sizes, total, prev, pager, next"
  127. :total="total"
  128. @current-change="pageIndexChange"
  129. @size-change="handleSizeChange"
  130. ></el-pagination>
  131. </div>
  132. </el-col>
  133. </div>
  134. </div>
  135. </el-col>
  136. </el-row>
  137. </div>
  138. </template>
  139. <script>
  140. import provTreeList from "../../../../widgets/provTreeListAndChina";
  141. import { dateFormat } from "@util/gw_date.js";
  142. import request from "../../../../utils/gw_ajax_request.js";
  143. import { exportModel } from "@util/gw_exportModel";
  144. export default {
  145. name: "hehuSiLuanDataSheet",
  146. components: {
  147. provTreeList
  148. },
  149. props: ["dcztDisabled","currentAdCode"],
  150. data() {
  151. return {
  152. name: "",
  153. adCode: "",
  154. adName: "",
  155. intm: "",
  156. uptm: "",
  157. city: "",
  158. county: "",
  159. location: "",
  160. centerX: "",
  161. centerY: "",
  162. state: "",
  163. persId: "", //用户id(必传)
  164. rootCode: "000000",
  165. rootType: "2",
  166. hhslDataList: [],
  167. dcOptions: [
  168. {
  169. value: "0",
  170. label: "未督查"
  171. },
  172. {
  173. value: "1",
  174. label: "督查中"
  175. },
  176. {
  177. value: "2",
  178. label: "已督查"
  179. }
  180. ],
  181. total: 0,
  182. pageSize: 10,
  183. pageIndex: 1,
  184. loading: false,
  185. isDczt: false,
  186. exportLoading: false
  187. };
  188. },
  189. computed: {
  190. // persId() {
  191. // return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
  192. // },
  193. // isAdmin:function(){
  194. // return localStorage.getItem("isAdmin")? localStorage.getItem("isAdmin"): ''
  195. // },
  196. },
  197. mounted() {
  198. this.loadTableHehuSiLuan();
  199. },
  200. methods: {
  201. formatDate(timestamp) {
  202. if (timestamp) {
  203. return dateFormat(timestamp, "yyyy-MM-dd");
  204. }
  205. },
  206. // 序号
  207. indexMethod_country(index) {
  208. return index + 1 + this.pageSize * (this.pageIndex - 1);
  209. },
  210. //搜索
  211. searchByName() {
  212. this.loadTableHehuSiLuan();
  213. },
  214. async exPort() {
  215. let _self = this;
  216. this.exportLoading = true;
  217. let data = {};
  218. data.name = _self.name; //项目名称
  219. data.adName = _self.adName;
  220. data.adCode = _self.adCode;
  221. data.intm = _self.intm;
  222. data.state = _self.state;
  223. data.city = _self.city;
  224. data.county = _self.county;
  225. data.location = _self.location;
  226. data.objType = "1";
  227. data.isExport = "1";
  228. let datas = JSON.stringify(data);
  229. let url = `/`;
  230. let downloadName = "河湖四乱.xls";
  231. let type = "post";
  232. let result = await exportModel(type, url, downloadName, datas);
  233. this.exportLoading = result;
  234. },
  235. provTreeSelectChangeHandler(params) {
  236. //console.log(params);
  237. if (params.code == 350000000000) {
  238. this.adCode = "";
  239. } else {
  240. this.adCode = params.code;
  241. }
  242. this.$nextTick(() => {
  243. this.pageSize = 10;
  244. this.pageIndex = 1;
  245. this.loadTableHehuSiLuan();
  246. });
  247. },
  248. //获取河湖四乱登记表数据(列表-分页)
  249. loadTableHehuSiLuan: function() {
  250. this.loading = true;
  251. var params = {
  252. persId: localStorage.getItem("userid")
  253. ? localStorage.getItem("userid")
  254. : "1098101939614724096",
  255. pageSize: this.pageSize,
  256. pageNum: this.pageIndex,
  257. name: this.name,
  258. adName: this.adName,
  259. state: this.state,
  260. adCode: this.adCode
  261. };
  262. request.post(`/att/jskejian/flkdis/rgstr/list/page`, params).then(res => {
  263. if (res.success) {
  264. this.loading = false;
  265. if (res.data.list) {
  266. this.hhslDataList = res.data.list;
  267. this.total = res.data.total;
  268. }
  269. }
  270. });
  271. },
  272. // 分页
  273. pageIndexChange(val) {
  274. //console.log(val);
  275. this.pageIndex = val;
  276. this.loadTableHehuSiLuan();
  277. },
  278. handleSizeChange(val) {
  279. this.pageSize = val;
  280. this.loadTableHehuSiLuan();
  281. },
  282. hhslInfo(row, info) {
  283. console.log(row);
  284. this.$emit("hhslInfo", row, info);
  285. }
  286. },
  287. watch: {
  288. currentAdCode(n, o) {
  289. this.adCode = n;
  290. this.loadTableHehuSiLuan();
  291. }
  292. }
  293. };
  294. </script>
  295. <style>
  296. #skMain
  297. .el-tree--highlight-current
  298. .el-tree-node.is-current
  299. > .el-tree-node__content {
  300. background-color: #558ed0;
  301. }
  302. </style>