houwenfeng 1 год назад
Родитель
Сommit
222f42d05c
1 измененных файлов с 363 добавлено и 363 удалено
  1. 363 363
      src/components/choiceOrange/index.vue

+ 363 - 363
src/components/choiceOrange/index.vue

@@ -1,363 +1,363 @@
-<template>
-  <div>
-    <div>
-      <!-- 搜索工作栏 -->
-      <el-form
-        v-if="clickType == 3"
-        :model="queryParamsStreet"
-        ref="queryForm"
-        size="small"
-        :inline="true"
-        v-show="showSearch"
-        label-width="68px"
-      >
-        <el-form-item label="组织名称" prop="qumc">
-          <el-input
-            v-model="queryParamsStreet.qumc"
-            placeholder="请输入组织名称"
-            clearable
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item>
-          <el-button type="primary" icon="el-icon-search" @click="handleQuery"
-            >搜索</el-button
-          >
-          <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
-        </el-form-item>
-      </el-form>
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getOrgList"
-      ></right-toolbar>
-      <!-- 操作工具栏 -->
-      <!-- <el-row :gutter="10" class="mb8">
-                                        <right-toolbar :showSearch.sync="showSearch" @queryTable="getOrgList"></right-toolbar>
-                                    </el-row> -->
-      <!-- <el-form  size="small" :inline="true" label-width="68px"> -->
-
-      <!-- </el-form> -->
-    </div>
-    <div style="display: flex; justify-content: space-between">
-      <div style="width: 45%; min-width: 775px">
-        <!-- 列表 -->
-        <el-table
-          v-loading="orgloading"
-          :data="leftDataList"
-          @row-click="tableRowClick"
-          height="50vh"
-          @selection-change="handleSelectionChange"
-        >
-          <el-table-column type="selection" width="100"> </el-table-column>
-          <el-table-column label="序号" type="index"  width="100"/>
-          <el-table-column
-            label="组织名称"
-            
-            prop="deptName"
-            v-if="clickType == 2"
-          >
-          </el-table-column>
-          <el-table-column
-            label="组织名称"
-           
-            prop="qumc"
-            v-if="clickType == 3"
-          >
-          </el-table-column>
-        </el-table>
-        <!-- 分页组件 -->
-        <pagination
-          v-show="orgtotal > 0 && clickType == 3"
-          :total="orgtotal"
-          :page.sync="orgqueryParams.pageNo"
-          :limit.sync="orgqueryParams.pageSize"
-          @pagination="getOrgList"
-        />
-      </div>
-      <div
-        style="
-          width: 10%;
-          display: flex;
-          align-items: center;
-          justify-content: center;
-        "
-      >
-        <el-button
-          icon="el-icon-caret-left"
-          plain
-          class="icon-button"
-          @click="OrgCaretToLeft"
-        ></el-button>
-        <el-button
-          icon="el-icon-caret-right"
-          plain
-          class="icon-button"
-          @click="OrgCaretToRight"
-        ></el-button>
-      </div>
-      <div style="width: 45%">
-        <!-- 列表 -->
-        <el-table
-          v-loading="Righloading"
-          :data="alreadySelectedOrgList"
-          @row-click="tableRowClick"
-          height="50vh"
-          @selection-change="RighthandleSelectionChange"
-        >
-          <el-table-column type="selection" width="100"> </el-table-column>
-          <el-table-column label="序号" type="index"  width="100"/>
-          <el-table-column label="组织名称" prop="deptName"
-            ><template v-slot="scope">
-              <span v-if="scope.row.deptName">{{ scope.row.deptName }}</span>
-              <span v-if="scope.row.qumc">{{ scope.row.qumc }}</span>
-            </template></el-table-column
-          >
-        </el-table>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-import { DICT_TYPE, getDictDatas } from "@/utils/dict";
-import { getDdlist } from "@/api/backend/statistics";
-import { getStreetPage } from "@/api/backend/street";
-export default {
-  components: {},
-  data() {
-    return {
-      // =======单位信息==========================
-
-      // 显示搜索条件
-      showSearch: true,
-      // 单位信息管理列表
-      list: [],
-      // 总条数
-      orgtotal: 0,
-      // 遮罩层
-      orgloading: true,
-      Righloading: false,
-      // 左侧查询参数
-      orgqueryParams: {
-        pageNo: 1,
-        pageSize: 10,
-        userId: this.$store.state.user.id,
-      },
-      // 左侧已选择单位信息列表
-      leftSelectedOrgList: [],
-      // 右侧已选择单位信息列表
-      rightSelectedOrgList: [],
-      // 最终选择的单位信息列表
-      alreadySelectedOrgList: [],
-      // 最终选择的单位信息列表总条数
-      alreadySelectedOrgtotal: 0,
-      // 右侧查询参数
-      alreadySelectedOrgqueryParams: {
-        pageNo: 1,
-        pageSize: 10,
-        // userId: '',
-      },
-      orgType: [],
-      // 数据字典
-      statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS), //状态
-
-      deptOptionsList: {},
-      leftDataList: [],
-      queryParamsStreet: {
-        // 查询参数
-        pageNo: 1,
-        pageSize: 10,
-        userId: null,
-        sjxfjg: null,
-      },
-    };
-  },
-  computed: {},
-  created() {
-    // this.getTreeselect();
-    this.Orgreset();
-    this.getOrgList();
-    this.getDeptData(); //获取街道和大队的数据
-  },
-  props: {
-    userId: {
-      // type: Number
-    },
-    type: {
-      // 判断类型
-      type: String,
-    },
-    clickType: {
-      //默认选择组织为大队
-      type: Number,
-      default: 2,
-    },
-    open:{
-        type:Boolean,
-        default:false
-    }
-  },
-  watch: {
-    userId: {
-      //深度监听,可监听到对象、数组的变化
-      handler(newV, oldV) {
-        this.Orgreset();
-        this.getOrgList();
-      },
-      deep: true,
-    },
-    clickType: {
-      //深度监听
-      handler(newV, oldV) {
-        this.getDeptData();
-      },
-      deep: true,
-      immediate: true,
-    },
-    open: {
-      //深度监听
-      handler(newV, oldV) {
-        if(!newV){
-            this.alreadySelectedOrgList = [];
-            this.leftSelectedOrgList = [];
-        }
-      },
-      deep: true,
-      immediate: true,
-    },
-  },
-  methods: {
-    /** 获取消防大队和街道的数据 */
-    getDeptData() {
-      if (this.clickType == 2) {
-        getDdlist().then((res) => {
-          this.orgloading = false;
-          this.leftDataList = res.data;
-        });
-      } else if (this.clickType == 3) {
-        console.log("this.clickType", this.clickType);
-        this.queryParamsStreet.userId = this.$store.state.user.id;
-        // this.form.deptId
-        getStreetPage(this.queryParamsStreet).then((response) => {
-          this.orgloading = false;
-          this.leftDataList = response.data.list;
-          this.orgtotal = response.data.total;
-        });
-      }
-    },
-    deptOptionsTrans(val) {
-      return this.deptOptionsList[val];
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      console.log(this.orgqueryParams, " this.orgqueryParams");
-      this.queryParamsStreet.pageNo = 1;
-      this.getDeptData();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // ========单位信息==============================================================
-    // 单位信息表单重置
-    Orgreset() {
-      //   this.alreadySelectedOrgList = [];
-      this.alreadySelectedOrgqueryParams = {
-        pageNo: 1,
-        pageSize: 10,
-      };
-      this.orgqueryParams = {
-        pageNo: 1,
-        pageSize: 10,
-        orgName: null,
-        status: null,
-        userId: null,
-        dwlx: null,
-        dwxz: null,
-      };
-    },
-    /** 查询部门下拉树结构 + 岗位下拉 */
-    // getTreeselect() {
-    //   listSimpleDepts().then((response) => {
-    //     // 处理 deptOptions 参数
-    //     var list = response.data;
-    //     list.map((i) => {
-    //       this.deptOptionsList[i.id] = i.name;
-    //     });
-    //   });
-    // },
-    /** 查询单位信息列表 */
-    getOrgList() {
-      // 执行查询
-      //   this.orgloading = true;
-      //   getOrgPage(this.orgqueryParams).then((response) => {
-      //     this.list = response.data.list;
-      //     this.orgtotal = response.data.total;
-      //     this.orgloading = false;
-      //   });
-    },
-    // 分配分管单位table点击
-    tableRowClick(row) {
-      console.log("row, column, event :>> ", row);
-    },
-    // 分配分管单位左侧多选框发送改变时
-    handleSelectionChange(val) {
-      this.leftSelectedOrgList = val;
-    },
-    // 分配分管单位右侧多选框发送改变时
-    RighthandleSelectionChange(val) {
-      this.rightSelectedOrgList = val;
-    },
-    // 左移
-    OrgCaretToLeft() {
-      this.rightSelectedOrgList.map((i) => {
-        this.alreadySelectedOrgList = this.alreadySelectedOrgList.filter(
-          (k) => k.id !== i.id
-        );
-      });
-      this.alreadySelectedOrgtotal = this.alreadySelectedOrgList.length;
-    },
-    // 右移
-    OrgCaretToRight() {
-      var arr = [...this.alreadySelectedOrgList, ...this.leftSelectedOrgList];
-      let s1 = new Set(arr);
-      arr = [...s1];
-      let forData = [];
-      for (let i = 0; i < arr.length; i++) {
-        if (!forData.some((e) => e.id == arr[i].id)) forData.push(arr[i]);
-      }
-      this.alreadySelectedOrgList = forData;
-      this.alreadySelectedOrgtotal = this.alreadySelectedOrgList.length;
-    },
-
-    // =================================
-
-    confirmMSg() {
-      return this.alreadySelectedOrgList;
-    },
-    confirmoOrgTypeMSg() {
-      return this.orgType;
-    },
-
-    // =========表单添加时选单位=================================================
-
-    // =================================================================
-  },
-};
-</script>
-<style scoped>
-.icon-button {
-  border-color: transparent;
-  font-size: 23px;
-  padding: 0px;
-}
-
-.icon-button.is-plain:hover,
-.icon-button.is-plain:focus {
-  background: #ffffff;
-  border-color: transparent;
-  color: #1890ff;
-}
-</style>
+<template>
+  <div>
+    <div>
+      <!-- 搜索工作栏 -->
+      <el-form
+        v-if="clickType == 3"
+        :model="queryParamsStreet"
+        ref="queryForm"
+        size="small"
+        :inline="true"
+        v-show="showSearch"
+        label-width="68px"
+      >
+        <el-form-item label="组织名称" prop="qumc">
+          <el-input
+            v-model="queryParamsStreet.qumc"
+            placeholder="请输入组织名称"
+            clearable
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" @click="handleQuery"
+            >搜索</el-button
+          >
+          <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
+        </el-form-item>
+      </el-form>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getOrgList"
+      ></right-toolbar>
+      <!-- 操作工具栏 -->
+      <!-- <el-row :gutter="10" class="mb8">
+                                        <right-toolbar :showSearch.sync="showSearch" @queryTable="getOrgList"></right-toolbar>
+                                    </el-row> -->
+      <!-- <el-form  size="small" :inline="true" label-width="68px"> -->
+
+      <!-- </el-form> -->
+    </div>
+    <div style="display: flex; justify-content: space-between">
+      <div style="width: 45%; min-width: 775px">
+        <!-- 列表 -->
+        <el-table
+          v-loading="orgloading"
+          :data="leftDataList"
+          @row-click="tableRowClick"
+          height="50vh"
+          @selection-change="handleSelectionChange"
+        >
+          <el-table-column type="selection" width="100"> </el-table-column>
+          <el-table-column label="序号" type="index"  width="100"/>
+          <el-table-column
+            label="组织名称"
+
+            prop="deptName"
+            v-if="clickType == 2"
+          >
+          </el-table-column>
+          <el-table-column
+            label="组织名称"
+
+            prop="qumc"
+            v-if="clickType == 3"
+          >
+          </el-table-column>
+        </el-table>
+        <!-- 分页组件 -->
+        <pagination
+          v-show="orgtotal > 0 && clickType == 3"
+          :total="orgtotal"
+          :page.sync="orgqueryParams.pageNo"
+          :limit.sync="orgqueryParams.pageSize"
+          @pagination="getOrgList"
+        />
+      </div>
+      <div
+        style="
+          width: 10%;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+        "
+      >
+        <el-button
+          icon="el-icon-caret-left"
+          plain
+          class="icon-button"
+          @click="OrgCaretToLeft"
+        ></el-button>
+        <el-button
+          icon="el-icon-caret-right"
+          plain
+          class="icon-button"
+          @click="OrgCaretToRight"
+        ></el-button>
+      </div>
+      <div style="width: 45%">
+        <!-- 列表 -->
+        <el-table
+          v-loading="Righloading"
+          :data="alreadySelectedOrgList"
+          @row-click="tableRowClick"
+          height="50vh"
+          @selection-change="RighthandleSelectionChange"
+        >
+          <el-table-column type="selection" width="100"> </el-table-column>
+          <el-table-column label="序号" type="index"  width="100"/>
+          <el-table-column label="组织名称" prop="deptName"
+            ><template v-slot="scope">
+              <span v-if="scope.row.deptName">{{ scope.row.deptName }}</span>
+              <span v-if="scope.row.qumc">{{ scope.row.qumc }}</span>
+            </template></el-table-column
+          >
+        </el-table>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { DICT_TYPE, getDictDatas } from "@/utils/dict";
+import { getDepts } from "@/api/backend/remindBroad";
+import { getStreetPage } from "@/api/backend/street";
+export default {
+  components: {},
+  data() {
+    return {
+      // =======单位信息==========================
+
+      // 显示搜索条件
+      showSearch: true,
+      // 单位信息管理列表
+      list: [],
+      // 总条数
+      orgtotal: 0,
+      // 遮罩层
+      orgloading: true,
+      Righloading: false,
+      // 左侧查询参数
+      orgqueryParams: {
+        pageNo: 1,
+        pageSize: 10,
+        userId: this.$store.state.user.id,
+      },
+      // 左侧已选择单位信息列表
+      leftSelectedOrgList: [],
+      // 右侧已选择单位信息列表
+      rightSelectedOrgList: [],
+      // 最终选择的单位信息列表
+      alreadySelectedOrgList: [],
+      // 最终选择的单位信息列表总条数
+      alreadySelectedOrgtotal: 0,
+      // 右侧查询参数
+      alreadySelectedOrgqueryParams: {
+        pageNo: 1,
+        pageSize: 10,
+        // userId: '',
+      },
+      orgType: [],
+      // 数据字典
+      statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS), //状态
+
+      deptOptionsList: {},
+      leftDataList: [],
+      queryParamsStreet: {
+        // 查询参数
+        pageNo: 1,
+        pageSize: 10,
+        userId: null,
+        sjxfjg: null,
+      },
+    };
+  },
+  computed: {},
+  created() {
+    // this.getTreeselect();
+    this.Orgreset();
+    this.getOrgList();
+    this.getDeptData(); //获取街道和大队的数据
+  },
+  props: {
+    userId: {
+      // type: Number
+    },
+    type: {
+      // 判断类型
+      type: String,
+    },
+    clickType: {
+      //默认选择组织为大队
+      type: Number,
+      default: 2,
+    },
+    open:{
+        type:Boolean,
+        default:false
+    }
+  },
+  watch: {
+    userId: {
+      //深度监听,可监听到对象、数组的变化
+      handler(newV, oldV) {
+        this.Orgreset();
+        this.getOrgList();
+      },
+      deep: true,
+    },
+    clickType: {
+      //深度监听
+      handler(newV, oldV) {
+        this.getDeptData();
+      },
+      deep: true,
+      immediate: true,
+    },
+    open: {
+      //深度监听
+      handler(newV, oldV) {
+        if(!newV){
+            this.alreadySelectedOrgList = [];
+            this.leftSelectedOrgList = [];
+        }
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  methods: {
+    /** 获取消防大队和街道的数据 */
+    getDeptData() {
+      if (this.clickType == 2) {
+        getDepts().then((res) => {
+          this.orgloading = false;
+          this.leftDataList = res.data;
+        });
+      } else if (this.clickType == 3) {
+        console.log("this.clickType", this.clickType);
+        this.queryParamsStreet.userId = this.$store.state.user.id;
+        // this.form.deptId
+        getStreetPage(this.queryParamsStreet).then((response) => {
+          this.orgloading = false;
+          this.leftDataList = response.data.list;
+          this.orgtotal = response.data.total;
+        });
+      }
+    },
+    deptOptionsTrans(val) {
+      return this.deptOptionsList[val];
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      console.log(this.orgqueryParams, " this.orgqueryParams");
+      this.queryParamsStreet.pageNo = 1;
+      this.getDeptData();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // ========单位信息==============================================================
+    // 单位信息表单重置
+    Orgreset() {
+      //   this.alreadySelectedOrgList = [];
+      this.alreadySelectedOrgqueryParams = {
+        pageNo: 1,
+        pageSize: 10,
+      };
+      this.orgqueryParams = {
+        pageNo: 1,
+        pageSize: 10,
+        orgName: null,
+        status: null,
+        userId: null,
+        dwlx: null,
+        dwxz: null,
+      };
+    },
+    /** 查询部门下拉树结构 + 岗位下拉 */
+    // getTreeselect() {
+    //   listSimpleDepts().then((response) => {
+    //     // 处理 deptOptions 参数
+    //     var list = response.data;
+    //     list.map((i) => {
+    //       this.deptOptionsList[i.id] = i.name;
+    //     });
+    //   });
+    // },
+    /** 查询单位信息列表 */
+    getOrgList() {
+      // 执行查询
+      //   this.orgloading = true;
+      //   getOrgPage(this.orgqueryParams).then((response) => {
+      //     this.list = response.data.list;
+      //     this.orgtotal = response.data.total;
+      //     this.orgloading = false;
+      //   });
+    },
+    // 分配分管单位table点击
+    tableRowClick(row) {
+      console.log("row, column, event :>> ", row);
+    },
+    // 分配分管单位左侧多选框发送改变时
+    handleSelectionChange(val) {
+      this.leftSelectedOrgList = val;
+    },
+    // 分配分管单位右侧多选框发送改变时
+    RighthandleSelectionChange(val) {
+      this.rightSelectedOrgList = val;
+    },
+    // 左移
+    OrgCaretToLeft() {
+      this.rightSelectedOrgList.map((i) => {
+        this.alreadySelectedOrgList = this.alreadySelectedOrgList.filter(
+          (k) => k.id !== i.id
+        );
+      });
+      this.alreadySelectedOrgtotal = this.alreadySelectedOrgList.length;
+    },
+    // 右移
+    OrgCaretToRight() {
+      var arr = [...this.alreadySelectedOrgList, ...this.leftSelectedOrgList];
+      let s1 = new Set(arr);
+      arr = [...s1];
+      let forData = [];
+      for (let i = 0; i < arr.length; i++) {
+        if (!forData.some((e) => e.id == arr[i].id)) forData.push(arr[i]);
+      }
+      this.alreadySelectedOrgList = forData;
+      this.alreadySelectedOrgtotal = this.alreadySelectedOrgList.length;
+    },
+
+    // =================================
+
+    confirmMSg() {
+      return this.alreadySelectedOrgList;
+    },
+    confirmoOrgTypeMSg() {
+      return this.orgType;
+    },
+
+    // =========表单添加时选单位=================================================
+
+    // =================================================================
+  },
+};
+</script>
+<style scoped>
+.icon-button {
+  border-color: transparent;
+  font-size: 23px;
+  padding: 0px;
+}
+
+.icon-button.is-plain:hover,
+.icon-button.is-plain:focus {
+  background: #ffffff;
+  border-color: transparent;
+  color: #1890ff;
+}
+</style>