From c4e67a8942e514b65ab41bb19781d50576c15725 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 24 Sep 2021 19:56:52 +0800
Subject: [PATCH] 用户
---
src/views/securityUnit/index.vue | 744 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 669 insertions(+), 75 deletions(-)
diff --git a/src/views/securityUnit/index.vue b/src/views/securityUnit/index.vue
index d2712cc..9f6b96c 100644
--- a/src/views/securityUnit/index.vue
+++ b/src/views/securityUnit/index.vue
@@ -1,118 +1,712 @@
<template>
- <div class="recruitmentManagement">
- <avue-crud
- :option="option"
- :data="data"
- :page.sync="page1"
- @size-change="sizeChange"
- @current-change="currentChange"
- @row-save="rowSave"
- @row-update="rowUpdate"
- @row-del="rowDel"
- @refresh-change="refresh"
- ></avue-crud>
- </div>
+ <basic-container>
+ <div class="securityUnit">
+ <avue-crud
+ :option="option"
+ :data="data"
+ :page.sync="page"
+ ref="crudrec"
+ @on-load="onLoad"
+ :table-loading="loading"
+ @row-save="rowSave"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @row-update="rowUpdate"
+ @row-del="rowDel"
+ @selection-change="selectionChange"
+ @refresh-change="refreshChange"
+ @row-click="rowClick"
+ >
+ <template slot-scope="{ type, size, row }" slot="menu">
+ <el-button
+ :size="size"
+ :type="type"
+ @click="handleUploadPage(row)"
+ icon="el-icon-circle-check"
+ >附件上传
+ </el-button>
+ </template>
+ <template slot="menuLeft">
+ <el-button
+ type="primary"
+ icon="el-icon-plus"
+ size="small"
+ plain
+ @click.stop="rowSave"
+ >新增</el-button
+ >
+ <el-button
+ type="danger"
+ size="small"
+ plain
+ icon="el-icon-delete"
+ @click="handleDelete"
+ >删 除
+ </el-button>
+ <el-button
+ type="success"
+ size="small"
+ plain
+ icon="el-icon-upload2"
+ @click="handleImport1"
+ >批量导入
+ </el-button>
+ </template>
+ </avue-crud>
+ <div class="lod" v-show="forms != -1">
+ <div class="lod-in">
+ <!-- <el-col class="trees" v-if="forms == 0">
+ <div class="box">
+ <el-scrollbar>
+ <basic-container>
+ <avue-tree
+ :option="treeOption"
+ :data="treeData"
+ @node-click="nodeClick"
+ />
+ </basic-container>
+ </el-scrollbar>
+ </div>
+ </el-col> -->
+ <avue-form
+ ref="form"
+ v-model="obj0"
+ :option="option0"
+ v-if="forms == 0"
+ >
+ <template slot="menuForm">
+ <el-button type="primary" @click="tip0">下一页</el-button>
+ <el-button type="info" @click="tipover">取消</el-button>
+ </template>
+ </avue-form>
+ <avue-form
+ ref="form1"
+ v-model="obj1"
+ :option="option1"
+ v-else-if="forms == 1"
+ >
+ <template slot="menuForm">
+ <el-button type="primary" @click="tip1up1">上一页</el-button>
+ <el-button type="primary" @click="tip1">下一页</el-button>
+ <el-button type="info" @click="tipover">取消</el-button>
+ </template>
+ </avue-form>
+ <avue-form
+ ref="form2"
+ v-model="obj2"
+ :option="option2"
+ v-else-if="forms == 2"
+ >
+ <template slot="menuForm">
+ <el-button type="primary" @click="tip2up2">上一页</el-button>
+ <el-button type="primary" @click="tip2">提交</el-button>
+ <el-button type="info" @click="tipover">取消</el-button>
+ </template>
+ </avue-form>
+ </div>
+ </div>
+ </div>
+ <el-dialog
+ title="保安单位导入"
+ append-to-body
+ :visible.sync="excelBox1"
+ width="555px"
+ >
+ <avue-form
+ :option="excelOption1"
+ v-model="excelForm1"
+ :upload-after="uploadAfter1"
+ >
+ <template slot="excelTemplate">
+ <el-button type="primary" @click="handleTemplate1">
+ 点击下载<i class="el-icon-download el-icon--right"></i>
+ </el-button>
+ </template>
+ </avue-form>
+ </el-dialog>
+ </basic-container>
</template>
<script>
-import { data, column } from "./data";
-
+import { column, column0, column1, column2 } from "./data";
+import {
+ getdata,
+ adddata,
+ update,
+ remove,
+ adddata1,
+ adddata2,
+ getDeptLazyTree,
+} from "@/api/securityUnit/securityUnit";
+import { mapGetters } from "vuex";
export default {
data() {
+ var w = 160,
+ s = 12;
return {
- Ourdata: "",
- page1: {
- currentPage: 1,
- total: 20,
- layout: "total,pager,prev, next",
- background: false,
- pageSize: 10,
+ excelBox1: false,
+ excelForm1: {},
+ excelOption1: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "文件上传",
+ prop: "excelFile",
+ type: "upload",
+ drag: true,
+ loadText: "文件上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data",
+ },
+ tip: "请上传 .xls,.xlsx 标准格式文件",
+ action: "/api/information/import-informaton",
+ },
+ {
+ label: "模板下载",
+ prop: "excelTemplate",
+ formslot: true,
+ span: 24,
+ },
+ ],
},
+
+ loading: true, //保安单位基本信息
+ selectionList: [],
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+
+ treeData: [],
+ treeOption: {
+ title: "我是标题",
+ filterText: "搜索关键字自定义",
+ defaultExpandAll: true,
+ addBtn: false,
+ menu: false,
+ size: "small",
+ formOption: {
+ labelWidth: 100,
+ column: [
+ {
+ label: "自定义项",
+ prop: "label",
+ },
+ ],
+ },
+ props: {
+ labelText: "标题",
+ label: "title",
+ value: "id",
+ children: "children",
+ },
+ },
+ // treeOption: {
+ // nodeKey: "id",
+ // // lazy: true,
+ // // treeLoad: function (node, resolve) {
+ // // // const parentId = node.level === 0 ? 0 : node.data.id;
+ // // getDeptLazyTree().then((res) => {
+ // // resolve(
+ // // res.data.data.map((item) => {
+ // // console.log({
+ // // ...item,
+ // // leaf: !item.hasChildren,
+ // // });
+ // // return {
+ // // ...item,
+ // // leaf: !item.hasChildren,
+ // // };
+ // // })
+ // // );
+ // // });
+ // // },
+ // addBtn: false,
+ // menu: false,
+ // size: "small",
+ // props: {
+ // labelText: "标题",
+ // label: "title",
+ // value: "value",
+ // children: "children",
+ // },
+ // },
+
+ obj0: {
+ title0: "保安单位基本信息",
+ },
+ option0: {
+ emptyBtn: false,
+ submitBtn: false,
+ gutter: 30,
+ column: column0,
+ },
+ obj1: {
+ title1: "保安单位出资人员",
+ },
+ option1: {
+ emptyBtn: false,
+ submitBtn: false,
+ gutter: 30,
+ column: column1,
+ },
+ obj2: {
+ title2: "主要管理人员信息",
+ },
+ option2: {
+ emptyBtn: false,
+ submitBtn: false,
+ gutter: 30,
+ column: column2,
+ },
+
+ forms: -1,
+ data0: {},
+ data1: {},
+ data2: {},
+ b0: {},
+ b1: {},
+ b2: {},
+ noshehuibianma: 0,
+ nobumen: 0,
+
+ query: {},
data: [],
option: {
- card: true,
+ index: true,
+ addBtn: false,
+ // card: true,
+ tip: false,
+ searchSize: "mini",
searchMenuSpan: 6,
- height: 545,
- menuWidth: 160,
+ height: 583,
+ menuWidth: 220,
align: "center",
+ selection: true,
column: column,
},
};
},
- methods: {
- getData() {
- this.page1.total = this.Ourdata.length;
- var maxi = +this.Ourdata.length / +this.page1.pageSize;
- var y = String(maxi).indexOf(".") + 1; //判断小数
- if (y != 0) {
- maxi++;
- }
- for (var i = 1; i <= maxi; i++) {
- if (this.page1.currentPage === i) {
- this.data = this.Ourdata.slice(
- (i - 1) * this.page1.pageSize,
- i * this.page1.pageSize
- );
- }
- }
+ computed: {
+ ...mapGetters(["userInfo"]),
+ ids() {
+ let ids = [];
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.creditcode);
+ });
+ return ids.join(",");
},
+ ids1() {
+ let ids1 = [];
+ this.selectionList1.forEach((ele) => {
+ ids1.push(ele.id);
+ });
+ return ids1.join(",");
+ },
+ ids2() {
+ let ids2 = [];
+ this.selectionList2.forEach((ele) => {
+ ids2.push(ele.id);
+ });
+ return ids2.join(",");
+ },
+ haveID() {
+ return this.obj0.creditcode;
+ },
+ },
+ methods: {
+ handleImport1() {
+ this.excelBox1 = true;
+ },
+ uploadAfter1(res, done, loading, column) {
+ window.console.log(column);
+ this.excelBox1 = false;
+ // this.refreshChange();
+ done();
+ },
+ handleTemplate1() {
+ window.open(`/api/examSubjectChoices/export-template`);
+ },
+
+ // handleChangeTABS(column) {
+ // this.typeTABS = column;
+ // // this.$message.success(JSON.stringify(column));
+ // if (column.prop == "tab1") {
+ // this.loading1 = false;
+ // this.loading2 = false;
+ // this.onLoad(this.page);
+ // } else if (column.prop == "tab2") {
+ // this.loading = false;
+ // this.loading2 = false;
+ // this.onLoad1(this.page1); //第二个表格不会自动执行
+ // } else if (column.prop == "tab3") {
+ // this.loading1 = false;
+ // this.loading = false;
+ // this.onLoad2(this.page2); //第二个表格不会自动执行
+ // }
+ // },
+ //保安单位基本信息
sizeChange(val) {
this.page1.currentPage = 1;
this.page1.pageSize = val;
- this.getData();
+ // this.getData();
+ this.onLoad(this.page, this.query);
// this.$message.success("行数" + val);
},
currentChange(val) {
this.page1.currentPage = val;
- this.getData();
+ // this.getData();
+ this.onLoad(this.page, this.query);
// this.$message.success("页码" + val);
},
rowSave(form, done, loading) {
+ // console.log("save1");
+ this.forms = 0;
var that = this;
- this.$message.success("模拟网络请求");
- setTimeout(() => {
- this.$message.success("关闭按钮等待");
- loading();
- }, 1000);
- setTimeout(() => {
- this.$message.success("新增数据" + JSON.stringify(form));
- done();
- that.Ourdata.push(form);
- this.getData()
- }, 2000);
+ //先获取部门接口
+ getDeptLazyTree().then((res) => {
+ var d = res.data.data;
+ that.treeData = d;
+ // console.log(d);
+ });
},
- refresh(val) {
- this.$message.success("刷新回调,当前分页对象" + JSON.stringify(val));
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
},
- rowDel(form, index) {
- this.$message.success("删除数据" + JSON.stringify(form));
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
},
- rowUpdate(form, index, done, loading) {
- this.$message.success("模拟网络请求");
- setTimeout(() => {
- this.$message.success("关闭按钮等待");
- loading();
- }, 1000);
- setTimeout(() => {
- this.$message.success(
- "编辑数据" + JSON.stringify(form) + "数据序号" + index
- );
- done(form);
- }, 2000);
+ rowUpdate(row, index, done, loading) {
+ delete row.tenantid;
+ delete row.regstsat;
+ console.log(row, 0);
+ update(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ rowDel(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ console.log(row);
+ return remove(row.creditcode, row.departmentid);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+ selectionChange(list) {
+ this.selectionList = list;
+ },
+ handleDelete() {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定批量将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ console.log(this.ids);
+ // return remove(this.ids);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ this.$refs.crudrec.toggleSelection();
+ });
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ rowClick(row) {
+ // console.log(row);
+ // row.identificationnumber; //统一社会信用代 码
+ window.localStorage.setItem("danweidata", JSON.stringify(row));
+ this.$router.push({
+ path: "/securityUnitChild",
+ // redirect: { name: "foo" },
+ query: { rowsecurity: "fromSecurity" },
+ // params: { row: row.identificationnumber },
+ });
+ },
+ //跳转到附近列表页面
+ handleUploadPage(row) {
+ this.$router.push({
+ path: `/resource/attachCopy`,
+ query: {
+ deptId: row.departmentid,
+ enterprisename: row.enterprisename,
+ },
+ });
+ },
+ onLoad(page, params = {}) {
+ if (this.userInfo.role_id == "1414840172333842433") {
+ console.log("是公安add jurisdiction");
+ params["jurisdiction"] = this.userInfo.jurisdiction;
+ }
+ this.loading = true;
+ getdata(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then((res) => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ window.localStorage.setItem("danweidataS", JSON.stringify(this.data));
+ console.log(this.data);
+ this.loading = false;
+ });
+ },
+ // nodeClick(data) {//分局 不在这添加
+ // // this.treeDeptId = data.id;
+ // // this.page.currentPage = 1;
+ // // this.onLoad(this.page);
+ // // this.$message.success(JSON.stringify(data));
+ // this.obj0["departmentid"] = data.title;
+ // this.obj1["departmentid"] = data.title;
+ // this.obj2["departmentid"] = data.title;
+ // this.obj0["useid"] = data.id;
+ // this.obj1["useid"] = data.id;
+ // this.obj2["useid"] = data.id;
+ // this.nobumen = 1;
+ // },
+ tip0() {
+ if (this.panduanmeiyouziduan()) {
+ return;
+ }
+ var d = {};
+ for (var k in this.obj0) {
+ for (var i in column0) {
+ if (k == column0[i].prop && k != "title0") {
+ d[k] = this.obj0[k];
+ }
+ }
+ }
+ console.log(d);
+ for (var k in d) {
+ if (d[k] == "" || d[k] == undefined) {
+ console.log(k);
+ this.$message.warning("请检查表单是否填写完整!");
+ return;
+ }
+ }
+ console.log(d, 0);
+ this.data0 = d;
+ this.forms = 1;
+ },
+ tip1() {
+ if (this.panduanmeiyouziduan()) {
+ return;
+ }
+ var d = {};
+ for (var k in this.obj1) {
+ for (var i in column1) {
+ if (k == column1[i].prop && k != "title1") {
+ d[k] = this.obj1[k];
+ }
+ }
+ }
+ d["capital"] = d["capital2"];
+ delete d["capital2"];
+ // console.log(d);
+ for (var k in d) {
+ if (d[k] == "" || d[k] == undefined) {
+ console.log(k);
+ this.$message.warning("请检查表单是否填写完整!");
+ return;
+ }
+ }
+ console.log(d, 1);
+ this.data1 = d;
+ this.forms = 2;
+ },
+ tip2() {
+ if (this.panduanmeiyouziduan()) {
+ return;
+ }
+ var d = {};
+ for (var k in this.obj2) {
+ for (var i in column2) {
+ if (k == column2[i].prop && k != "title2") {
+ d[k] = this.obj2[k];
+ }
+ }
+ }
+ console.log(d);
+ d["cardid"] = d["cardid2"];
+ delete d["cardid2"];
+ d["cell"] = d["cell2"];
+ delete d["cell2"];
+ // d["shareholdingratio"] = d["shareholdingratio2"];
+ // delete d["shareholdingratio2"];
+ for (var k in d) {
+ if (d[k] == "" || d[k] == undefined) {
+ console.log(k);
+ this.$message.warning("请检查表单是否填写完整!");
+ return;
+ }
+ }
+ console.log(d, 2);
+ this.data2 = d;
+
+ // this.data0.departmentid = this.data0.useid;
+ // this.data1.departmentid = this.data1.useid;
+ // this.data2.departmentid = this.data2.useid;
+ // delete this.data0.useid;
+ // delete this.data1.useid;
+ // delete this.data2.useid;
+
+ adddata(this.data0).then((res) => {
+ console.log(res, 0);
+ });
+ adddata1(this.data1).then((res) => {
+ console.log(res, 1);
+ });
+ adddata2(this.data2).then((res) => {
+ console.log(res, 2);
+ });
+ var time = setTimeout(() => {
+ this.onLoad(this.page, this.query);
+ console.log(this.data0, this.data1, this.data2, "已刷新");
+ }, 500);
+ this.tipover();
+ },
+ tip1up1() {
+ this.forms = 0;
+ },
+ tip2up2() {
+ this.forms = 1;
+ },
+ tipover() {
+ this.forms = -1;
+ this.obj0 = {
+ title0: "保安单位基本信息",
+ };
+ this.obj1 = {
+ title1: "保安单位出资人员",
+ };
+ this.obj2 = {
+ title2: "主要管理人员信息",
+ };
+ this.data0 = {};
+ this.data1 = {};
+ this.data2 = {};
+ this.noshehuibianma = 0;
+ this.nobumen = 0;
+ },
+ panduanmeiyouziduan() {
+ if (this.noshehuibianma == 0) {
+ this.$message.warning("请输入统一社会信用代码");
+ return true;
+ }
+ if (this.nobumen == 0) {
+ return false;
+ this.$message.warning("请选则部门");
+ }
+ return false;
},
},
- mounted() {
- this.Ourdata = data;
- this.getData();
+ watch: {
+ haveID() {
+ // console.log(this.haveID);
+ if (this.haveID != undefined) {
+ if (this.haveID.length > 5) {
+ //统一社会信用代码判断
+ this.noshehuibianma = 1;
+ } else {
+ this.noshehuibianma = 0;
+ }
+ }
+ },
+ havedata() {
+ console.log(this.havedata, "qqqqq");
+ },
},
+ mounted() {},
};
</script>
<style lang="scss">
-.recruitmentManagement {
+.securityUnit {
width: 100%;
height: 100%;
// border: 1px solid #000;
box-sizing: border-box;
}
-</style>
\ No newline at end of file
+// .el-card__body {
+// padding-bottom: 5px !important;
+// }
+// .avue-crud__tip,
+// .el-tag,
+// .el-tag--light {
+// padding: 0 !important;
+// }
+
+.lod {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: rgba($color: #000000, $alpha: 0.5);
+ padding: 100px 0 0 0;
+ z-index: 500 !important;
+ display: flex;
+ // align-items: center;
+ justify-content: center;
+ .trees {
+ z-index: 501 !important;
+ position: absolute;
+ width: 15%;
+ top: 100px;
+ left: 0;
+ // display: none;
+ }
+ .lod-in {
+ width: 70%;
+ height: auto;
+ background-color: transparent;
+
+ // padding: 10px 0 0 0;
+ }
+
+ .el-collapse-item {
+ padding-top: 15px !important;
+ }
+}
+.el-collapse {
+ border-top: 1px solid transparent !important;
+}
+</style>
--
Gitblit v1.9.3