Pārlūkot izejas kodu

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc_web into V0.0.2

 Conflicts:
	src/views/system/dept/index.vue
zhulu 2 gadi atpakaļ
vecāks
revīzija
0f0a2f18d4

+ 60 - 0
src/api/safetycheck/task.js

@@ -0,0 +1,60 @@
+import request from "@/utils/request";
+
+// 查询【请填写功能名称】列表
+export function page(query) {
+  return request({
+    url: "/core/safetyTask/list",
+    method: "get",
+    params: query,
+  });
+}
+
+//获取计划列表
+export function getPlans(args) {
+  return request({
+    url: "/core/resumption/record/plan",
+    method: "get",
+    params: args,
+  });
+}
+
+//获取执行岗位
+export function getRoles(args) {
+  return request({
+    url: "/core/resumption/record/role",
+    method: "get",
+    params: args,
+  });
+}
+
+/**
+ * PC端履职记录导出
+ */
+export function exportResumptionRecord(args) {
+  return request({
+    url: "/core/resumption/record/export",
+    method: "post",
+    params: args,
+  });
+}
+
+/**
+ * 查询
+ */
+export function one(id) {
+  return request({
+    url: "/core/resumption/record/" + id,
+    method: "get"
+  });
+}
+
+/**
+ * 查询 扫描记录
+ */
+export function findNfcScanRecord(args) {
+  return request({
+    url: "/core/resumption/record/nfc",
+    method: "get",
+    params: args,
+  });
+}

+ 186 - 0
src/views/check/task/dialog.detail.vue

@@ -0,0 +1,186 @@
+<template>
+  <div>
+    <DialogCom
+      :title="title + '详情'"
+      :visible.sync="isShow"
+      width="1200px"
+      :destroy-on-close="true"
+    >
+      <el-table
+        :data="tableData"
+        row-key="itemId"
+        height="441"
+        style="max-height: 450px; overflow-y: auto"
+        default-expand-all
+      >
+        <!-- align="left" -->
+        <el-table-column type="expand">
+          <template slot-scope="props">
+            <el-table
+              v-if="props.row.dataInfoList"
+              :data="props.row.dataInfoList"
+            >
+              <el-table-column
+                label="履职内容"
+                align="left"
+                width="250"
+                prop="pointName"
+              >
+              </el-table-column>
+              <el-table-column
+                label="履职区域"
+                align="center"
+                :show-overflow-tooltip="true"
+                prop="areaName"
+              >
+              </el-table-column>
+              <el-table-column
+                label="履职结果"
+                align="center"
+                :show-overflow-tooltip="true"
+              >
+                <template slot-scope="scope">
+                  <span v-if="scope.row.executeResult === '0'">
+                    <i class="circle" style="background-color: #1890ff" />
+                    <label style="color: #1890ff"> 正常</label> </span
+                  ><span v-else>
+                    <i class="circle" style="background-color: #f5222d" />
+                    <label style="color: #f5222d"> 异常</label>
+                  </span>
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="履职时间"
+                align="center"
+                :show-overflow-tooltip="true"
+                prop="executeTime"
+              >
+              </el-table-column>
+              <el-table-column label="履职图片" align="center">
+                <template slot-scope="scope">
+                  <div
+                    class="block"
+                    v-for="img in scope.row.appResumptionDataImgList"
+                  >
+                    <el-image
+                      style="width: 50px; height: 50px; margin-right: 5px"
+                      :src="img.imgPath"
+                      fit="fit"
+                      :preview-src-list="
+                        imgPreviewSrcList(scope.row.appResumptionDataImgList)
+                      "
+                    >
+                    </el-image>
+                  </div>
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="问题描述"
+                align="center"
+                :show-overflow-tooltip="true"
+                prop="resRemark"
+              >
+              </el-table-column>
+            </el-table>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="履职项"
+          align="center"
+          prop="itemName"
+          :show-overflow-tooltip="true"
+        />
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="onHide">取消</el-button>
+      </div>
+    </DialogCom>
+  </div>
+</template>
+<script>
+import * as api from "@/api/resumption/taskManger.js";
+export default {
+  data() {
+    return {
+      isShow: false,
+      title: "",
+      tableData: [],
+    };
+  },
+  methods: {
+    async refresh(id) {
+      let detail = (await api.one(id)).data;
+      if (detail && detail.length > 0) {
+        this.tableData = detail;
+      } else {
+        this.tableData = [];
+      }
+    },
+    async show(id, title) {
+      this.title = title;
+      await this.refresh(id);
+      this.isShow = true;
+    },
+    onHide() {
+      this.isShow = false;
+    },
+    reset() {
+      this.tableData = [];
+    },
+    imgPreviewSrcList(imgList) {
+      let srcList = [];
+      imgList.forEach((element) => {
+        srcList.push(element.imgPath);
+      });
+      return srcList;
+    },
+    valueColor(v) {
+      let color = "";
+      switch (v) {
+        case "0":
+          color = "1890FF";
+          break;
+        case "1":
+          color = "F5222D";
+          break;
+      }
+
+      return "color:" + color;
+    },
+    valueBgColor(v) {
+      let color = "";
+      switch (v) {
+        case "0":
+          color = "1890FF";
+          break;
+        case "1":
+          color = "F5222D";
+          break;
+      }
+
+      return "background-color:" + color;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.block {
+  // padding: 10px 10px;
+  text-align: center;
+  // border-right: 1px solid #eff2f6;
+  display: inline-block;
+  // width: 20%;
+  // vertical-align: top;
+}
+
+.circle {
+  display: inline-block;
+  width: 5px;
+  height: 5px;
+  border-radius: 5px;
+  background-color: red;
+  border: none;
+  margin-bottom: 3px;
+}
+</style>

+ 106 - 0
src/views/check/task/dialog.scanrecord.vue

@@ -0,0 +1,106 @@
+<template>
+  <div>
+    <DialogCom
+      title="扫描记录"
+      :visible.sync="isShow"
+      width="800px"
+      :destroy-on-close="true"
+    >
+      <el-table :data="tableData" border>
+        <el-table-column
+          label="履职区域"
+          align="center"
+          :show-overflow-tooltip="true"
+          prop="areaName"
+        >
+        </el-table-column>
+        <el-table-column
+          label="NFC点位名称"
+          align="center"
+          :show-overflow-tooltip="true"
+          prop="collectionAreaName"
+        >
+        </el-table-column>
+
+        <el-table-column
+          label="扫描时间"
+          align="center"
+          :show-overflow-tooltip="true"
+          width="180px"
+          prop="executeTime"
+        >
+        </el-table-column>
+        <el-table-column
+          label="扫描方式"
+          align="center"
+          width="80px"
+          :show-overflow-tooltip="true"
+          prop="scanMethod"
+        >
+          <template slot-scope="r">
+            <span v-if="r.row.scanMethod === 0">扫描</span>
+            <span v-else>拍照</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="详情"
+          align="center"
+          :show-overflow-tooltip="true"
+          prop="img"
+        >
+          <template slot-scope="r">
+            <label v-if="r.row.scanMethod == 0">-</label>
+            <el-image
+              v-else
+              style="width: 50px; height: 50px"
+              :src="r.row.img"
+              :preview-src-list="[r.row.img]"
+            ></el-image>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="onHide">取消</el-button>
+      </div>
+    </DialogCom>
+  </div>
+</template>
+<script>
+import * as api from "@/api/resumption/taskManger.js";
+export default {
+  data() {
+    return {
+      isShow: false,
+      tableData: [],
+    };
+  },
+  methods: {
+    async refresh(id, orgId) {
+      let detail = (
+        await api.findNfcScanRecord({
+          orgId: orgId,
+          resumptionId: id,
+        })
+      ).data;
+      // console.log(detail);
+      if (detail) {
+        this.tableData = detail;
+      } else {
+        this.tableData = [];
+      }
+    },
+    async show(id, orgId) {
+      await this.refresh(id, orgId);
+      this.isShow = true;
+    },
+    onHide() {
+      this.isShow = false;
+    },
+    reset() {
+      this.tableData = [];
+    },
+  },
+};
+</script>
+
+<style lang="scss"></style>

+ 460 - 0
src/views/check/task/index.vue

@@ -0,0 +1,460 @@
+<template>
+  <div class="app-container">
+    <el-row :gutter="20">
+      <!--机构数据-->
+      <el-col :span="4" :xs="24">
+        <org-tree
+          v-model="queryParams.orgId"
+          @defaultKey="getDefaultKey"
+          @checkChange="checkChange"
+          @click="clickTreeNode"
+        ></org-tree>
+      </el-col>
+      <el-col :span="20" :xs="24">
+        <!--    搜索条件    -->
+        <el-form
+          :model="queryParams"
+          ref="queryParams"
+          size="small"
+          :inline="true"
+          v-show="showSearch"
+          label-width="100px"
+        >
+          <el-form-item label="检查名称" prop="planId">
+            <el-select
+              v-model="queryParams.planId"
+              filterable
+              placeholder="请选择"
+              clearable
+            >
+              <el-option
+                v-for="item in planList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <!-- <el-form-item label="检查角色" prop="executeRole">
+            <el-select
+              v-model="queryParams.executeRole"
+              placeHolder="请选择检查角色"
+              clearable
+            >
+              <el-option
+                v-for="item in roleList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item> -->
+          <!-- <el-form-item label="检查周期" prop="executeCycle">
+            <el-select
+              v-model="queryParams.executeCycle"
+              placeHolder="请选择检查周期"
+              @change="changeType($event)"
+            >
+              <el-option
+                v-for="item in dict.type.resumption_plan_cycle"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item> -->
+
+                   
+          <el-form-item
+            class="searchTitle"
+            label="任务开始时间"
+            
+          >
+            <el-date-picker
+              v-model="queryParams.startTime"
+              :clearable="timeClearable"
+              placeholder="选择时间"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="检查状态" prop="status">
+            <el-select
+              v-model="queryParams.status"
+              placeHolder="请选择"
+              clearable
+            >
+              <el-option
+                v-for="item in dict.type.resumption_status"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="受检机构" prop="orgId">
+            <el-select
+              v-model="queryParams.ofOrgId"
+              placeHolder="请选择"
+              clearable
+            >
+              <el-option
+                v-for="item in dict.type.resumption_status"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item style="margin-left: 50px;">
+            <el-button
+              type="primary"
+              icon="el-icon-search"
+              size="mini"
+              @click="getList"
+              >搜索</el-button
+            >
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+              >重置</el-button
+            >
+          </el-form-item>
+        </el-form>
+        <!--    按纽    -->
+        <el-row :gutter="10" class="mb8">
+          <!-- <el-col :span="1.5">
+            <el-button
+              type="primary"
+              plain
+              icon="el-icon-download"
+              size="mini"
+              @click="exportExcel()"
+              v-hasPermi="['resumption:taskManager:export']"
+              >导出</el-button
+            >
+          </el-col> -->
+
+          <right-toolbar
+            :showSearch.sync="showSearch"
+            @queryTable="getList"
+            :columns="columns"
+          ></right-toolbar>
+        </el-row>
+        <el-table
+          border
+          height="600"
+          size="small"
+          v-loading="loading" :data="pageData">
+          <el-table-column
+          type="index"
+          fixed
+          min-width="50"
+          label="序号"
+          v-if="columns[0].visible"
+        >
+        </el-table-column>
+          <el-table-column
+            prop="title"
+            label="检查名称"
+            min-width="120"
+            v-if="columns[1].visible"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="checkOrgName"
+            label="检查机构"
+            min-width="120"
+            v-if="columns[5].visible"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="roleName"
+            label="检查角色"
+            min-width="120"
+            v-if="columns[6].visible"
+            >
+          </el-table-column>
+          <el-table-column
+            prop="orgName"
+            label="受检机构"
+            min-width="120"
+            v-if="columns[4].visible"
+          >
+          </el-table-column>
+         
+          <el-table-column
+            prop="startTime"
+            label="开始日期"
+            min-width="140"
+            v-if="columns[2].visible"
+          />
+          <el-table-column
+            prop="endTime"
+            label="截止日期"
+            min-width="140"
+            v-if="columns[3].visible"
+          />
+
+          <el-table-column
+            prop="status"
+            label="检查状态"
+            width="100px"
+            v-if="columns[10].visible"
+          >
+            <template slot-scope="r">
+              <span>
+                <i class="circle" :style="statusColor(r.row.status, true)" />
+                <label :style="statusColor(r.row.status, false)">
+                  {{
+                    getLabel(dict.type.resumption_status, r.row.status)
+                  }}</label
+                >
+              </span>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            prop="submitName"
+            label="检查人"
+            min-width="120"
+            v-if="columns[7].visible"
+          ></el-table-column>
+          <el-table-column
+            label="检查时间"
+            min-width="120"
+            v-if="columns[8].visible"
+          >
+            <template slot-scope="r">{{
+              r.row.submitTime | dateTime
+            }}</template>
+          </el-table-column>
+          <el-table-column
+            prop="exceptionCount"
+            label="问题数量"
+            min-width="80"
+            v-if="columns[9].visible"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="des"
+            label="备注"
+            min-width="80"
+            v-if="columns[9].visible"
+          >
+          </el-table-column>
+          <el-table-column label="操作" fixed="right" min-width="120px">
+            <template slot-scope="r">
+              <!-- <el-button v-if="
+                            r.row.status == 'WAIT' &&
+                            queryParams.type == 'QUARTER'
+                        " type="text" @click="onEdit(r.row.id)">检查</el-button>
+                        <el-button v-else-if="
+                            r.row.status != 'NA' &&
+                            r.row.status != 'NOT' &&
+                            r.row.status != 'WAIT'
+                        " type="text" @click="onEdit(r.row.id, { isRead: true })">查看</el-button> -->
+              <el-button
+                type="text"
+                @click="showDetail(r.row)"
+                v-hasPermi="['resumption:taskManager:query']"
+                >详情</el-button
+              >
+              <el-button
+                type="text"
+                @click="showscanRecord(r.row)"
+                v-hasPermi="['resumption:taskManager:query']"
+                >扫描记录</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          v-show="total > 0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getList"
+        />
+      </el-col>
+    </el-row>
+    <!-- 详情 -->
+    <dialog-detail ref="detaildialog"></dialog-detail>
+    <dialog-scan-record ref="scanrecorddialog"></dialog-scan-record>
+  </div>
+</template>
+
+<script>
+import {mapGetters } from "vuex";
+import DialogDetail from "./dialog.detail";
+import DialogScanRecord from "./dialog.scanrecord";
+import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
+import OrgTree from "@/components/orgTree";
+import * as api from "@/api/safetycheck/task.js";
+import { getLabel } from "@/views/commonOption.js";
+
+export default {
+  name: "checkTaskList",
+  dicts: ["resumption_plan_cycle", "resumption_status"],
+  components: { DialogDetail, DialogScanRecord, DataRangePicker, OrgTree },
+  data() {
+    return {
+      loading: false,
+      showSearch: true,
+      total: 0,
+      timeClearable: false,
+      options: [],
+      roleList: [],
+      planList: [],
+
+      queryParams: {
+        checkSub: true,
+        orgId: null,
+        ofOrgId: null,
+        status: null,
+        planId: null,
+        pageNum: 1,
+        pageSize: 10,
+        startTime:null,
+      },
+      selectedOrgName:null,
+      pageData: [],
+      columns: [
+        { key: 0, label: `序号`, visible: true },
+        { key: 1, label: `计划名称`, visible: true },
+        { key: 2, label: `开始时间`, visible: true },
+        { key: 3, label: `结束时间`, visible: true },
+        { key: 4, label: `上级机构`, visible: true },
+        { key: 5, label: `检查机构`, visible: true },
+        { key: 6, label: `检查角色`, visible: true },
+        { key: 7, label: `提交人`, visible: true },
+        { key: 8, label: `提交时间`, visible: true },
+        { key: 9, label: `异常个数`, visible: true },
+        { key: 10, label: `任务状态`, visible: true },
+      ],
+    };
+  },
+  props: {},
+  watch: {
+  
+    statusVal(value) {
+      if (value == undefined) return;
+      if (value == "all") this.queryParams.status = null;
+      else this.queryParams.status = value;
+    },
+    planVal(value) {
+      if (value == undefined) return;
+      if (value == -1) this.queryParams.planId = null;
+      else this.queryParams.planId = value;
+    },
+    $route(v) {
+      //this.queryParams.type = this.$route.params.type.toUpperCase();
+    },
+    // 0每日;1每周;2每月;3每季度;4每半年;5每年
+
+
+   
+  },
+  computed: {
+    ...mapGetters(["orgName"])
+  },
+  methods: {
+
+    getLabel,
+    showDetail(row) {
+      this.$refs.detaildialog.show(row.resumptionId, row.name);
+    },
+    showscanRecord(row) {
+      this.$refs.scanrecorddialog.show(row.resumptionId, row.orgId);
+    },
+    getDefaultKey(key) {
+      this.queryParams.orgId = key;
+      this.selectedOrgName=this.orgName;
+      this.getList();
+      this.loadRoles(key);
+      this.loadPlanList();
+    },
+    //单选框状态改变
+    checkChange(state) {
+      this.queryParams.checkSub = state;
+
+      this.getList();
+    },
+    // 节点单击事件
+    clickTreeNode(data) {
+      this.queryParams.orgId = data.id;
+      this.selectedOrgName=data.name;
+      this.loadPlanList();
+      this.loadRoles();
+      this.getList();
+    },
+    resetQuery() {
+      this.resetForm("queryParams");
+      this.getList();
+    },
+    async getList() {
+      this.loading = true;
+      api
+        .page(this.queryParams)
+        .then((r) => {
+          this.isTableHaveData = r.rows.length > 0;
+          this.pageData = r.rows;
+          this.total = r.total;
+          this.loading = false;
+        })
+        .catch((e) => {
+          this.loading = false;
+        });
+    },
+    loadRoles() {
+      api
+        .getRoles({
+          orgId: this.queryParams.orgId,
+          planCycle: this.queryParams.executeCycle,
+        })
+        .then((r) => (this.roleList = r.data));
+    },
+
+    loadPlanList() {
+      api
+        .getPlans({
+          orgId: this.queryParams.orgId,
+          planCycle: this.queryParams.executeCycle,
+        })
+        .then((r) => {
+          this.planList = r.data;
+        });
+    },
+
+   
+    statusColor(status, isBackground) {
+      let color = "";
+      switch (status) {
+        case "1":
+          color = "#BFBFBF";
+          break;
+        case "2":
+          color = "#1890FF";
+          break;
+        case "3":
+          color = "#52C41A";
+          break;
+        case "4":
+          color = "#F5222D";
+          break;
+      }
+
+      if (isBackground) {
+        return "background-color:" + color;
+      } else {
+        return "color:" + color;
+      }
+    },
+  },
+  async mounted() {
+   
+  },
+};
+</script>
+
+<style lang="scss">
+
+</style>

+ 209 - 196
src/views/system/dept/index.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="app-container">
     <!-- <el-row :gutter="20"> -->
-      <!--机构数据-->
-      <!-- <el-col :span="4" :xs="24"> -->
-        <!-- <div class="head-container">
+    <!--机构数据-->
+    <!-- <el-col :span="4" :xs="24"> -->
+    <!-- <div class="head-container">
           <el-input
             v-model="deptName"
             placeholder="请输入机构名称"
@@ -13,8 +13,8 @@
             style="margin-bottom: 20px"
           />
         </div> -->
-        
-          <!-- <div style="margin-bottom: 10px">
+
+    <!-- <div style="margin-bottom: 10px">
             <el-checkbox v-model="queryParams.checkSub" @change="changeCheckBox"
               >关联下级</el-checkbox
             >
@@ -30,106 +30,113 @@
             :default-checked-keys="defaultKeys"
             @node-click="handleNodeClick"
           /> -->
-          <!-- <div class="tree-container"> -->
-            <layoutCom>
-          <org-tree
+    <!-- <div class="tree-container"> -->
+    <layoutCom>
+      <org-tree
         slot="leftBar"
         v-model="queryParams.orgId"
         @defaultKey="defaultKeys"
         @checkChange="checkChange"
         @click="handleNodeClick"
       ></org-tree>
-        <!-- </div> -->
+      <!-- </div> -->
       <!-- </el-col> -->
       <!--用户数据-->
       <!-- <el-col :span="20" :xs="24"> -->
-        <!--    搜索条件    -->
-        <el-row slot="rightBar">
-          <el-col>
-        <el-form
-          :model="queryParams"
-          ref="queryForm"
-          size="small"
-          :inline="true"
-          v-show="showSearch"
-        >
-          <el-form-item label="机构名称" prop="name">
-            <el-input
-              v-model="queryParams.name"
-              placeholder="请输入机构名称"
-              clearable
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-          <el-form-item label="状态" prop="isLock">
-            <el-select
-              v-model="queryParams.isLock"
-              placeholder="机构状态"
-              clearable
-            >
-              <el-option
-                v-for="dict in dict.type.sys_normal_disable"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
+      <!--    搜索条件    -->
+      <el-row slot="rightBar">
+        <el-col>
+          <el-form
+            :model="queryParams"
+            ref="queryForm"
+            size="small"
+            :inline="true"
+            v-show="showSearch"
+          >
+            <el-form-item label="机构名称" prop="name">
+              <el-input
+                v-model="queryParams.name"
+                placeholder="请输入机构名称"
+                clearable
+                @keyup.enter.native="handleQuery"
               />
-            </el-select>
-          </el-form-item>
-          <el-form-item label="机构类型" prop="isLock">
-            <el-select
-              v-model="queryParams.type"
-              placeholder="机构类型"
-              clearable
-            >
-              <el-option
-                v-for="dict in dict.type.sys_org_type"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
+            </el-form-item>
+            <el-form-item label="机构编码" prop="code">
+              <el-input
+                v-model="queryParams.code"
+                placeholder="请输入机构编码"
+                clearable
+                @keyup.enter.native="handleQuery"
               />
-            </el-select>
-          </el-form-item>
-          <el-form-item>
-            <el-button
-              type="primary"
-              icon="el-icon-search"
-              size="mini"
-              @click="handleQuery"
-              >搜索</el-button
-            >
-            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-              >重置</el-button
-            >
-          </el-form-item>
-        </el-form>
+            </el-form-item>
+            <el-form-item label="状态" prop="isLock">
+              <el-select
+                v-model="queryParams.isLock"
+                placeholder="机构状态"
+                clearable
+              >
+                <el-option
+                  v-for="dict in dict.type.sys_normal_disable"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="机构类型" prop="type">
+              <el-select
+                v-model="queryParams.type"
+                placeholder="机构类型"
+                clearable
+              >
+                <el-option
+                  v-for="dict in dict.type.sys_org_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+            <el-form-item>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="mini"
+                @click="handleQuery"
+                >搜索</el-button
+              >
+              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+                >重置</el-button
+              >
+            </el-form-item>
+          </el-form>
 
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button
-              v-if="false"
-              type="primary"
-              plain
-              icon="el-icon-plus"
-              size="mini"
-              @click="showDialogEdit(0)"
-              v-hasPermi="['system:dept:add']"
-              ></el-button
-            >
-            <el-button
-              type="primary"
-              plain
-              icon="el-icon-plus"
-              size="mini"
-              @click="handleAdd"
-              v-hasPermi="['system:dept:add']"
-              >新增</el-button
-            >
-          </el-col>
-          <right-toolbar
-            :showSearch.sync="showSearch"
-            @queryTable="getList"
-          ></right-toolbar>
-        </el-row>
+          <el-row :gutter="10" class="mb8">
+            <el-col :span="1.5">
+              <el-button
+                v-if="false"
+                type="primary"
+                plain
+                icon="el-icon-plus"
+                size="mini"
+                @click="showDialogEdit(0)"
+                v-hasPermi="['system:dept:add']"
+              ></el-button>
+              <el-button
+                type="primary"
+                plain
+                icon="el-icon-plus"
+                size="mini"
+                @click="handleAdd"
+                v-hasPermi="['system:dept:add']"
+                >新增</el-button
+              >
+            </el-col>
+            <right-toolbar
+              :showSearch.sync="showSearch"
+              @queryTable="getList"
+            ></right-toolbar>
+          </el-row>
 
         <el-table
           border
@@ -173,94 +180,93 @@
             label="排序"
             min-width="60"
             width="60"
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            prop="weatherCityCode"
-            label="城市天气区域"
-            width="150"
-          >
-            <template slot-scope="r">
-              <span>{{getCode(r.row.weatherCityCode)}}</span>
-            </template>
-
-          </el-table-column>
-          <!-- <el-table-column prop="address" label="地址"></el-table-column> -->
-          <!-- <el-table-column label="负责人" align="center">
+          ></el-table-column>           
+            <el-table-column
+              align="center"
+              prop="weatherCityCode"
+              label="城市天气区域"
+              width="150"
+            >
+              <template slot-scope="r">
+                <span>{{ getCode(r.row.weatherCityCode) }}</span>
+              </template>
+            </el-table-column>
+            <!-- <el-table-column prop="address" label="地址"></el-table-column> -->
+            <!-- <el-table-column label="负责人" align="center">
             <template v-slot:default="scope">
               <span v-text="scope.row.manager"></span>-
               <span v-text="scope.row.managerPhone"> </span>
             </template>
           </el-table-column> -->
-          <el-table-column
-            align="center"
-            prop="manager"
-            label="负责人"
-            width="150"
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            prop="managerPhone"
-            label="负责人电话"
-            width="150"
-          ></el-table-column>
-          <el-table-column
-            label="操作"
-            align="center"
-            fixed="right"
-            width="160"
-            class-name="small-padding fixed-width"
-          >
-            <template slot-scope="scope">
-              <router-link
-                :to="'/system/dept-extend/extend/' + scope.row.id"
-                class="link-type"
-              >
+            <el-table-column
+              align="center"
+              prop="manager"
+              label="负责人"
+              width="150"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="managerPhone"
+              label="负责人电话"
+              width="150"
+            ></el-table-column>
+            <el-table-column
+              label="操作"
+              align="center"
+              fixed="right"
+              width="160"
+              class-name="small-padding fixed-width"
+            >
+              <template slot-scope="scope">
+                <router-link
+                  :to="'/system/dept-extend/extend/' + scope.row.id"
+                  class="link-type"
+                >
+                  <el-button
+                    v-if="
+                      scope.row.type == 4 ||
+                      scope.row.type == 10 ||
+                      scope.row.type == 5
+                    "
+                    size="mini"
+                    type="text"
+                    icon="el-icon-plus"
+                    v-hasPermi="['system:dept:extend']"
+                    >补充信息</el-button
+                  >
+                </router-link>
+
                 <el-button
-                  v-if="
-                    scope.row.type == 4 ||
-                    scope.row.type == 10 ||
-                    scope.row.type == 5
-                  "
                   size="mini"
                   type="text"
-                  icon="el-icon-plus"
-                  v-hasPermi="['system:dept:extend']"
-                  >补充信息</el-button
+                  icon="el-icon-edit"
+                  @click="handleUpdate(scope.row)"
+                  v-hasPermi="['system:dept:edit']"
+                  >编辑</el-button
                 >
-              </router-link>
-
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-edit"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:dept:edit']"
-                >编辑</el-button
-              >
-              <el-button
-                v-if="!scope.row.source"
-                size="mini"
-                type="text"
-                icon="el-icon-delete"
-                @click="handleDelete(scope.row)"
-                v-hasPermi="['system:dept:remove']"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
+                <el-button
+                  v-if="!scope.row.source"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleDelete(scope.row)"
+                  v-hasPermi="['system:dept:remove']"
+                  >删除</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
 
-        <pagination
-          v-show="total > 0"
-          :total="total"
-          :page.sync="queryParams.pageNum"
-          :limit.sync="queryParams.pageSize"
-          @pagination="getList"
-        />
-      </el-col>
+          <pagination
+            v-show="total > 0"
+            :total="total"
+            :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize"
+            @pagination="getList"
+          />
+        </el-col>
       </el-row>
-      </layoutCom>
+    </layoutCom>
 
     <!-- 添加或修改机构对话框 -->
     <DialogCom
@@ -323,9 +329,11 @@
                   :key="dict.value"
                   :label="dict.label"
                   :value="dict.value"
-                  v-show="addIndex == 2
-                  || (addIndex == 3 && dict.value == 5)
-                  || (addIndex == 3 && dict.value == 6)"
+                  v-show="
+                    addIndex == 2 ||
+                    (addIndex == 3 && dict.value == 5) ||
+                    (addIndex == 3 && dict.value == 6)
+                  "
                 />
               </el-select>
             </el-form-item>
@@ -336,7 +344,7 @@
                 v-model="form.manager"
                 placeholder="请输入负责人"
                 maxlength="20"
-                :disabled="form.source == 1"                
+                :disabled="form.source == 1"
               />
             </el-form-item>
           </el-col>
@@ -420,12 +428,12 @@ import { deptTreeSelect } from "@/api/system/public";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import DialogEdit from "@/views/system/dept/dialog.edit.vue";
-import {findAreaList} from "@/api/core/weather";
+import { findAreaList } from "@/api/core/weather";
 import OrgTree from "@/components/orgTree";
 export default {
   name: "Dept",
   dicts: ["sys_normal_disable", "sys_org_type"],
-  components: { Treeselect, DialogEdit,OrgTree },
+  components: { Treeselect, DialogEdit, OrgTree },
   data() {
     return {
       // 遮罩层
@@ -466,6 +474,8 @@ export default {
         status: undefined,
         parentId: undefined,
         checkSub: true,
+        type: null,
+        code:null,
       },
       // 表单参数
       form: {},
@@ -502,7 +512,7 @@ export default {
       },
       //默认选中节点
       defaultKeys: [],
-      areaList:[],
+      areaList: [],
     };
   },
   computed: {
@@ -518,18 +528,17 @@ export default {
     this.getAreaList();
   },
   methods: {
-    getCode(item){
-      if(item!=null&&item.length>0){
-        let area = this.areaList.find(v=>v.key === item);
-        if(area){
+    getCode(item) {
+      if (item != null && item.length > 0) {
+        let area = this.areaList.find((v) => v.key === item);
+        if (area) {
           return area.value;
-        }else {
+        } else {
           return "";
         }
-      }else{
+      } else {
         return "";
       }
-
     },
     closeHandler() {
       // alert(11111)
@@ -565,7 +574,7 @@ export default {
       });
     },
     getAreaList() {
-      findAreaList({}).then(response => {
+      findAreaList({}).then((response) => {
         this.areaList = response.data;
       });
     },
@@ -623,6 +632,7 @@ export default {
         email: undefined,
         status: "0",
         isLock: "0",
+        type: null,
       };
       this.resetForm("form");
     },
@@ -633,7 +643,8 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
-      this.handleQuery();
+      // this.
+      this.getList();
     },
     /** 新增按钮操作 */
     async handleAdd() {
@@ -672,21 +683,23 @@ export default {
       });
       if (this.pId != -1) {
         this.pId = row.parentId;
-        this.form.parentId=row.parentId;
-        console.log(this.form,"this.form")
-        console.log(this.form.parentId,"this.pId")
-        await deptTreeSelect({removeId:row.parentId,id:row.id}).then((response) => {
-          this.deptOptions2 = response.data;
-          // this.defaultKeys.push(response.data[0].id);
-          this.open = true;
-          this.title = "编辑";
-        });
+        this.form.parentId = row.parentId;
+        console.log(this.form, "this.form");
+        console.log(this.form.parentId, "this.pId");
+        await deptTreeSelect({ removeId: row.parentId, id: row.id }).then(
+          (response) => {
+            this.deptOptions2 = response.data;
+            // this.defaultKeys.push(response.data[0].id);
+            this.open = true;
+            this.title = "编辑";
+          }
+        );
       }
     },
     /** 提交按钮 */
     changeSubmitForm() {
       this.addIndex = 2;
-      debugger
+      debugger;
       this.$refs["form"].validate((valid) => {
         if (valid) {
           updateDept(this.form).then((response) => {