|  | @@ -2,6 +2,30 @@
 | 
	
		
			
				|  |  |    <div class="app-container box progress">
 | 
	
		
			
				|  |  |      <div class="box-top">
 | 
	
		
			
				|  |  |        <customForm ref="formRef" :model="queryParams" :config="FormConfig">
 | 
	
		
			
				|  |  | +        <template #region>
 | 
	
		
			
				|  |  | +          <el-tree-select
 | 
	
		
			
				|  |  | +            v-model="queryParams.xzqdm"
 | 
	
		
			
				|  |  | +            :data="deptList"
 | 
	
		
			
				|  |  | +            :props="{
 | 
	
		
			
				|  |  | +              value: 'id',
 | 
	
		
			
				|  |  | +              label: 'label',
 | 
	
		
			
				|  |  | +              children: 'children',
 | 
	
		
			
				|  |  | +            }"
 | 
	
		
			
				|  |  | +            value-key="id"
 | 
	
		
			
				|  |  | +            default-expanded-keys
 | 
	
		
			
				|  |  | +            check-strictly
 | 
	
		
			
				|  |  | +            style="width: 200px"
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template #monTime>
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +            v-model="queryParams.time"
 | 
	
		
			
				|  |  | +            type="daterange"
 | 
	
		
			
				|  |  | +            range-separator="至"
 | 
	
		
			
				|  |  | +            start-placeholder="开始时间"
 | 
	
		
			
				|  |  | +            end-placeholder="结束时间"
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  |          <template #action>
 | 
	
		
			
				|  |  |            <el-button type="primary" icon="Search" @click="handleQuery"
 | 
	
		
			
				|  |  |              >搜索</el-button
 | 
	
	
		
			
				|  | @@ -19,12 +43,12 @@
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div class="text">
 | 
	
		
			
				|  |  |              <div class="ibolk">
 | 
	
		
			
				|  |  | -              <div>{{ zldata[zl.prop] || 0 }}个</div>
 | 
	
		
			
				|  |  | -              <div>{{ (zldata[zl.prop1] || 0).toFixed(2) }}亩</div>
 | 
	
		
			
				|  |  | +              <div>{{ countData[`${zl.prop}num`] || 0 }}个</div>
 | 
	
		
			
				|  |  | +              <div>{{ (countData[`${zl.prop}mj`] || 0).toFixed(2) }}亩</div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="ibolk progrestext" v-if="zl.prop3">
 | 
	
		
			
				|  |  | -              <div class="radio">{{ zldata[zl.prop3] || 0 }}%</div>
 | 
	
		
			
				|  |  | -              <div class="protitle">完成进度</div>
 | 
	
		
			
				|  |  | +              <div class="radio">{{ countData[`${zl.prop}zb`] || 0 }}%</div>
 | 
	
		
			
				|  |  | +              <div class="protitle">{{ zl.prop3 }}</div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
	
		
			
				|  | @@ -141,6 +165,8 @@ import EchartsMap from "@/components/echarts/EchartsMap.vue";
 | 
	
		
			
				|  |  |  import bar from "@/components/echarts/bar.vue";
 | 
	
		
			
				|  |  |  import { FormConfig, titles, units, TableHeader, judgeTable } from "./config";
 | 
	
		
			
				|  |  |  import { nextTick } from "vue";
 | 
	
		
			
				|  |  | +import { userDept } from "@/api/system/dept";
 | 
	
		
			
				|  |  | +import { getcount, listJctb, listJz } from "@/api/rsmonitoring/statistics";
 | 
	
		
			
				|  |  |  const route = useRoute();
 | 
	
		
			
				|  |  |  const router = useRouter();
 | 
	
		
			
				|  |  |  const { proxy } = getCurrentInstance();
 | 
	
	
		
			
				|  | @@ -1748,19 +1774,14 @@ const data = reactive({
 | 
	
		
			
				|  |  |    queryParams: {
 | 
	
		
			
				|  |  |      pageNum: 1,
 | 
	
		
			
				|  |  |      pageSize: 10,
 | 
	
		
			
				|  |  | +    xzqdm: "",
 | 
	
		
			
				|  |  | +    time: ["", ""],
 | 
	
		
			
				|  |  | +    startTime: "",
 | 
	
		
			
				|  |  |      roleName: undefined,
 | 
	
		
			
				|  |  |      roleKey: undefined,
 | 
	
		
			
				|  |  |      status: undefined,
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  | -  rules: {
 | 
	
		
			
				|  |  | -    roleName: [
 | 
	
		
			
				|  |  | -      { required: true, message: "角色名称不能为空", trigger: "blur" },
 | 
	
		
			
				|  |  | -    ],
 | 
	
		
			
				|  |  | -    roleKey: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
 | 
	
		
			
				|  |  | -    roleSort: [
 | 
	
		
			
				|  |  | -      { required: true, message: "角色顺序不能为空", trigger: "blur" },
 | 
	
		
			
				|  |  | -    ],
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | +  countData: {},
 | 
	
		
			
				|  |  |    eData: {
 | 
	
		
			
				|  |  |      xData: ["2020", "2021", "2022", "2023"],
 | 
	
		
			
				|  |  |      yData: [
 | 
	
	
		
			
				|  | @@ -1775,25 +1796,26 @@ const data = reactive({
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  |  const showdata = reactive({
 | 
	
		
			
				|  |  | +  deptList: [],
 | 
	
		
			
				|  |  |    zllist: {
 | 
	
		
			
				|  |  |      all: [
 | 
	
		
			
				|  |  | -      { name: "监测\n图斑" },
 | 
	
		
			
				|  |  | -      { name: "已举证\n图斑", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | -      { name: "县级\n已审核", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | -      { name: "市级\n已审核", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | -      { name: "省级\n已审核", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | +      { name: "监测\n图斑", prop: "all" },
 | 
	
		
			
				|  |  | +      { name: "已举证\n图斑", prop: "WYTJ", prop3: "完成进度" },
 | 
	
		
			
				|  |  | +      { name: "县级\n已审核", prop: "XJYSH", prop3: "完成进度" },
 | 
	
		
			
				|  |  | +      { name: "市级\n已审核", prop: "SJYSH", prop3: "完成进度" },
 | 
	
		
			
				|  |  | +      { name: "省级\n已审核", prop: "SJJYSH", prop3: "完成进度" },
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  |      judge: [
 | 
	
		
			
				|  |  | -      { name: "监测\n图斑" },
 | 
	
		
			
				|  |  | -      { name: "未判定\n图斑", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | -      { name: "已判定\n图斑\n(拆分前)", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | -      { name: "已判定\n图斑\n(拆分后)", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | +      { name: "监测\n图斑", pro: "all" },
 | 
	
		
			
				|  |  | +      { name: "未判定\n图斑", prop: "WPD", prop3: "占比" },
 | 
	
		
			
				|  |  | +      { name: "已判定\n图斑\n(拆分前)", prop: "PDCFQ", prop3: "占比" },
 | 
	
		
			
				|  |  | +      { name: "已判定\n图斑\n(拆分后)", prop: "PDCFH" },
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  |      result: [
 | 
	
		
			
				|  |  | -      { name: "已判定\n图斑" },
 | 
	
		
			
				|  |  | -      { name: "判定为\n合法用地", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | -      { name: "判定为\n违法用地", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | -      { name: "判定为\n其它用地", prop: "zb", prop1: "zb", prop3: "%" },
 | 
	
		
			
				|  |  | +      { name: "已判定\n图斑", pro: "all" },
 | 
	
		
			
				|  |  | +      { name: "判定为\n合法用地", prop: "HFYD", prop3: "占比" },
 | 
	
		
			
				|  |  | +      { name: "判定为\n违法用地", prop: "WFYD", prop3: "占比" },
 | 
	
		
			
				|  |  | +      { name: "判定为\n其它用地", prop: "QTYD", prop3: "占比" },
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1806,17 +1828,84 @@ const showdata = reactive({
 | 
	
		
			
				|  |  |    judgetype: "",
 | 
	
		
			
				|  |  |    resulttype: "",
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  | -const zldata = ref({});
 | 
	
		
			
				|  |  | -const { queryParams, form, rules, eData } = toRefs(data);
 | 
	
		
			
				|  |  | -const { zllist, typeoptions, ntype, nunit, judgetype, resulttype } =
 | 
	
		
			
				|  |  | +const { queryParams, countData, eData } = toRefs(data);
 | 
	
		
			
				|  |  | +const { deptList, zllist, typeoptions, ntype, nunit, judgetype, resulttype } =
 | 
	
		
			
				|  |  |    toRefs(showdata);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +let countparm = {
 | 
	
		
			
				|  |  | +  all: {
 | 
	
		
			
				|  |  | +    all: null,
 | 
	
		
			
				|  |  | +    WYTJ: [{ auditflowStep: "WYTJ" }],
 | 
	
		
			
				|  |  | +    XJYSH: [{ auditflowStep: "XJSH" }],
 | 
	
		
			
				|  |  | +    SJYSH: [{ auditflowStep: "SJSH" }],
 | 
	
		
			
				|  |  | +    SJJYSH: [{ auditflowStep: "SJJSH" }],
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  judge: {
 | 
	
		
			
				|  |  | +    XJDSH: [
 | 
	
		
			
				|  |  | +      { auditflowStep: "XJHGX" },
 | 
	
		
			
				|  |  | +      { auditflowStep: "XJSH" },
 | 
	
		
			
				|  |  | +      { auditflowStep: "WYTJ", successType: "0" },
 | 
	
		
			
				|  |  | +    ],
 | 
	
		
			
				|  |  | +    XJYSH: [{ auditflowStep: "XJSH" }],
 | 
	
		
			
				|  |  | +    XJYTJ: [{ auditflowStep: "XJTJ" }],
 | 
	
		
			
				|  |  | +    SJTH: [{ auditflowStep: "SJTJ", successType: "1" }],
 | 
	
		
			
				|  |  | +    SJJTH: [{ auditflowStep: "SJJTJ", successType: "1" }],
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  result: {
 | 
	
		
			
				|  |  | +    SJDSH: [
 | 
	
		
			
				|  |  | +      { auditflowStep: "SJSH" },
 | 
	
		
			
				|  |  | +      { auditflowStep: "XJTJ", successType: "0" },
 | 
	
		
			
				|  |  | +    ],
 | 
	
		
			
				|  |  | +    SJYSH: [{ auditflowStep: "SJSH" }],
 | 
	
		
			
				|  |  | +    SJYTJ: [{ auditflowStep: "SJTJ" }],
 | 
	
		
			
				|  |  | +    SJJTH: [{ auditflowStep: "SJJTJ", successType: "1" }],
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  onMounted(() => {
 | 
	
		
			
				|  |  |    nextTick(() => {
 | 
	
		
			
				|  |  |      // 初始化主题样式
 | 
	
		
			
				|  |  |      echartRef.value.setOptions(eData.value);
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  | +function getDrpt() {
 | 
	
		
			
				|  |  | +  userDept({}).then((response) => {
 | 
	
		
			
				|  |  | +    deptList.value = response.data;
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +function getData() {
 | 
	
		
			
				|  |  | +  countData.value = {};
 | 
	
		
			
				|  |  | +  let prams = countparm[route.query.type];
 | 
	
		
			
				|  |  | +  Object.keys(prams).forEach((key) => {
 | 
	
		
			
				|  |  | +    getcount({
 | 
	
		
			
				|  |  | +      xzqdm: queryParams.value.xzqdm,
 | 
	
		
			
				|  |  | +      startTime: queryParams.value.time[0],
 | 
	
		
			
				|  |  | +      endTime: queryParams.value.time[1],
 | 
	
		
			
				|  |  | +      auditflowList: prams[key],
 | 
	
		
			
				|  |  | +    }).then((res) => {
 | 
	
		
			
				|  |  | +      countData.value[`${key}num`] = res.data.dq.countNumber;
 | 
	
		
			
				|  |  | +      countData.value[`${key}mj`] = res.data.dq.countSum;
 | 
	
		
			
				|  |  | +      countData.value[`${key}zb`] = res.data.zb;
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +// function getDrpt() {
 | 
	
		
			
				|  |  | +//   userDept({}).then((response) => {
 | 
	
		
			
				|  |  | +//     // deptList.value = response.data;
 | 
	
		
			
				|  |  | +//   });
 | 
	
		
			
				|  |  | +// }
 | 
	
		
			
				|  |  | +/** 搜索按钮操作 */
 | 
	
		
			
				|  |  | +function handleQuery() {
 | 
	
		
			
				|  |  | +  queryParams.value.pageNum = 1;
 | 
	
		
			
				|  |  | +  queryParams.value.startTime = queryParams.value.time[0];
 | 
	
		
			
				|  |  | +  queryParams.value.endTime = queryParams.value.time[1];
 | 
	
		
			
				|  |  | +  getData();
 | 
	
		
			
				|  |  | +  getList();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/** 重置按钮操作 */
 | 
	
		
			
				|  |  | +function resetQuery() {
 | 
	
		
			
				|  |  | +  proxy.resetForm("queryRef");
 | 
	
		
			
				|  |  | +  handleQuery();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  /** 查询角色列表 */
 | 
	
		
			
				|  |  |  function getList() {
 | 
	
		
			
				|  |  |    // loading.value = true;
 | 
	
	
		
			
				|  | @@ -1839,6 +1928,8 @@ function setLnbh(data) {
 | 
	
		
			
				|  |  |    // this.setEchart(this.eData, 0);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +getDrpt();
 | 
	
		
			
				|  |  | +getData();
 | 
	
		
			
				|  |  |  getList();
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  <style scoped lang="scss">
 |