|
@@ -0,0 +1,305 @@
|
|
|
+<template>
|
|
|
+ <div class="xzlist">
|
|
|
+ <div v-if="type == 1" class="xztype">
|
|
|
+ <span :class="{ usable: rdxz }" @click="changerdxz">
|
|
|
+ 认定为闲置未处置情况
|
|
|
+ </span>
|
|
|
+ <span :class="{ usable: !rdxz }" @click="changerdxz">
|
|
|
+ 认定为未非闲置情况
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <custom-form ref="formRef" :model="pageObj" :config="formConfig">
|
|
|
+ <template #region>
|
|
|
+ <!-- clearable -->
|
|
|
+ <el-cascader
|
|
|
+ v-model="pageObj.id"
|
|
|
+ :show-all-levels="false"
|
|
|
+ :options="store.state.region_tree"
|
|
|
+ placeholder="行政区"
|
|
|
+ :props="{
|
|
|
+ checkStrictly: true,
|
|
|
+ expandTrigger: 'hover',
|
|
|
+ emitPath: false,
|
|
|
+ }"
|
|
|
+ ></el-cascader>
|
|
|
+ </template>
|
|
|
+ <template #type>
|
|
|
+ <el-select v-model="pageObj.placeCode" placeholder="闲置原因">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionList"
|
|
|
+ :key="item.code"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.code"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ <template #action>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-search"
|
|
|
+ @click="getTableData"
|
|
|
+ >
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </custom-form>
|
|
|
+ <div class="content">
|
|
|
+ <div class="item">
|
|
|
+ <p>项目数(个)</p>
|
|
|
+ <span>{{ table.total || 0 }} </span>
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <p>土地面积(亩)</p>
|
|
|
+ <span>{{ table.mj || 0 }} </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <tablePage
|
|
|
+ :class="'tablePage' + type"
|
|
|
+ :cloumn="cloumn"
|
|
|
+ :table="table"
|
|
|
+ :indexed="false"
|
|
|
+ :showTotal="false"
|
|
|
+ layout="prev, pager,next"
|
|
|
+ ref="tableDialogRef"
|
|
|
+ @currentChange="searchFun"
|
|
|
+ >
|
|
|
+ <template #action="{ row }">
|
|
|
+ <span class="usable" @click="detail(row)">详情</span>
|
|
|
+ <span class="usable" v-if="type == 0" @click="judge(row)"> 判定 </span>
|
|
|
+ <span class="usable" v-if="type == 1" @click="handle(row)"> 处置 </span>
|
|
|
+ </template>
|
|
|
+ </tablePage>
|
|
|
+ <div class="tip" v-if="type == 0">
|
|
|
+ 说明:系统判断疑似闲置的条件(合同约定开工之日起仍未开工的项目)
|
|
|
+ </div>
|
|
|
+ <handleModal ref="handleRef"></handleModal>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import tablePage from "@/components/mapView/tablePage.vue";
|
|
|
+import customForm from "@/components/mapView/custom-form.vue";
|
|
|
+import handleModal from "./handleModal.vue";
|
|
|
+import { GetPage } from "@/api/ghss/hgxfx.js";
|
|
|
+import { GetXzResList } from "../../../api/ghss/ghxz.js";
|
|
|
+
|
|
|
+import { ysForm, xzForm, TableHeader, TableHeader2 } from "./config";
|
|
|
+let dataSources;
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ tablePage,
|
|
|
+ customForm,
|
|
|
+ handleModal,
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ type: {
|
|
|
+ type: String,
|
|
|
+ },
|
|
|
+ recordBsm: {
|
|
|
+ type: String,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ pageObj: {
|
|
|
+ kssj: "",
|
|
|
+ sj: [],
|
|
|
+ jssj: "",
|
|
|
+ xmmc: "",
|
|
|
+ page: 1,
|
|
|
+ },
|
|
|
+
|
|
|
+ datalist: [{}],
|
|
|
+ formConfig: ysForm,
|
|
|
+ cloumn: TableHeader,
|
|
|
+ optionList: [
|
|
|
+ { name: "政府原因", code: 0 },
|
|
|
+ { name: "企业原因", code: 1 },
|
|
|
+ { name: "非政府原因和不可抗力", code: 2 },
|
|
|
+ { name: "其他", code: 3 },
|
|
|
+ ],
|
|
|
+ table: {
|
|
|
+ data: [
|
|
|
+ { JGMC: "ssmdmm", type: 0, typeN: "正在审核" },
|
|
|
+ {
|
|
|
+ JGMC: "ssmdmm",
|
|
|
+ type: 1,
|
|
|
+ time: "2024/9/3",
|
|
|
+ typeN: "审核通过",
|
|
|
+ url: "snsd",
|
|
|
+ list: [
|
|
|
+ { time: "2024/9/3", jg: "申请通过" },
|
|
|
+ { time: "2024/8/13", jg: "申请通过" },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ JGMC: "ssmdmm",
|
|
|
+ type: 2,
|
|
|
+ typeN: "审核不通过",
|
|
|
+ list: [
|
|
|
+ { time: "2024/9/3", jg: "申请通过" },
|
|
|
+ { time: "2024/8/13", jg: "申请通过" },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ { JGMC: "ssmdmm", type: 3, typeN: "已撤回" },
|
|
|
+ ],
|
|
|
+ total: 20,
|
|
|
+ },
|
|
|
+ now: "",
|
|
|
+ // 闲置未处置
|
|
|
+ rdxz: true,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.formConfig = this.$props.type == 0 ? ysForm : xzForm;
|
|
|
+ this.cloumn = this.$props.type == 0 ? TableHeader : TableHeader2;
|
|
|
+ this.getData();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ changetype() {
|
|
|
+ // switch (this.$props.type) {
|
|
|
+ // case 0:
|
|
|
+ // this.formConfig = ysForm;
|
|
|
+ // break;
|
|
|
+ // case 1:
|
|
|
+ // this.formConfig = xzForm;
|
|
|
+ // break;
|
|
|
+ // case 2:
|
|
|
+ // this.formConfig = ysForm;
|
|
|
+ // break;
|
|
|
+ // default:
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ getData() {
|
|
|
+ this.$emit("updateParent", "loading", true);
|
|
|
+ if (this.$props.type == "hgxfx") {
|
|
|
+ GetPage({ ...this.pageObj }).then((res) => {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.$emit("updateParent", "loading", false);
|
|
|
+ }, 100);
|
|
|
+ this.listdisabled = res.data.length < 10;
|
|
|
+ this.datalist = [...this.datalist, ...res.data];
|
|
|
+ });
|
|
|
+ } else if (this.$props.type == "ghxz") {
|
|
|
+ //规划选址历史记录
|
|
|
+ let tempObj = { ...this.pageObj };
|
|
|
+ let obj = {
|
|
|
+ startTime: tempObj.kssj,
|
|
|
+ endTime: tempObj.jssj,
|
|
|
+ name: tempObj.xmmc,
|
|
|
+ pageNum: this.pageObj.page,
|
|
|
+ pageSize: 10,
|
|
|
+ };
|
|
|
+ GetXzResList(obj).then((res) => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // this.$emit("updateParent", "loading", false);
|
|
|
+ // }, 100);
|
|
|
+ // this.datalist = [...this.datalist, ...res.data.items];
|
|
|
+ });
|
|
|
+ } else if (this.$props.type == "gdbh") {
|
|
|
+ //耕保历史记录
|
|
|
+ // SelectGdbhList({ ...this.pageObj }).then((res) => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // this.$emit("updateParent", "loading", false);
|
|
|
+ // }, 100);
|
|
|
+ // if (res.code == 200) {
|
|
|
+ // this.listdisabled = res.rows.length < 10;
|
|
|
+ // this.datalist = [...this.datalist, ...res.rows];
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ addPolygon(geojson) {},
|
|
|
+ reset() {
|
|
|
+ if (dataSources) viewer.dataSources.remove(dataSources);
|
|
|
+ dataSources = undefined;
|
|
|
+ },
|
|
|
+ detail(row) {
|
|
|
+ this.bus.$emit("handleView", row, this.$props.type);
|
|
|
+ },
|
|
|
+ judge(row) {
|
|
|
+ this.$refs.handleRef.Init(row, "judge");
|
|
|
+ },
|
|
|
+ handle(row) {
|
|
|
+ this.$refs.handleRef.Init(row, "deal");
|
|
|
+ },
|
|
|
+ changerdxz() {
|
|
|
+ this.rdxz = !this.rdxz;
|
|
|
+ this.getData();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ watch: {},
|
|
|
+ beforeDestroy() {
|
|
|
+ this.pageObj = {
|
|
|
+ kssj: "",
|
|
|
+ sj: [],
|
|
|
+ jssj: "",
|
|
|
+ xmmc: "",
|
|
|
+ page: 1,
|
|
|
+ };
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.xzlist {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .content {
|
|
|
+ width: 100%;
|
|
|
+ height: 50px;
|
|
|
+ margin: 10px 0;
|
|
|
+ background: #2e5a70;
|
|
|
+ border-radius: 5px;
|
|
|
+ padding-top: 5px;
|
|
|
+ .item {
|
|
|
+ width: 48%;
|
|
|
+ height: 100%;
|
|
|
+ display: inline-block;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ text-align: center;
|
|
|
+ span {
|
|
|
+ font-family: "Arial Negreta", "Arial Normal", "Arial";
|
|
|
+ font-weight: 700;
|
|
|
+ font-style: normal;
|
|
|
+ color: #68f4fb;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .tablePage0,
|
|
|
+ .tablePage1 {
|
|
|
+ height: calc(100% - 160px);
|
|
|
+ }
|
|
|
+ .tablePage2 {
|
|
|
+ height: calc(100% - 120px);
|
|
|
+ }
|
|
|
+ .tip {
|
|
|
+ color: #f56c6c;
|
|
|
+ }
|
|
|
+ .xztype {
|
|
|
+ display: flex;
|
|
|
+ margin: 5px 0;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ span {
|
|
|
+ display: inline-block;
|
|
|
+ border: 1px solid #3f93f5;
|
|
|
+ border-radius: 5px;
|
|
|
+ padding: 0 10px;
|
|
|
+ line-height: 30px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+.xzlist {
|
|
|
+ .el-col {
|
|
|
+ padding-right: 0 !important;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|