| | |
| | | <template> |
| | | <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="menuLeft"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="small" |
| | | plain |
| | | @click.stop="rowSave" |
| | | >新增</el-button |
| | | > |
| | | </template> |
| | | <template slot="menuLeft"> |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <div class="lod" v-show="forms != -1"> |
| | | <div class="lod-in"> |
| | | <el-col class="trees" v-if="forms == 0"> |
| | | <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> |
| | |
| | | </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="form" |
| | | 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="form" |
| | | 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> |
| | | </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> |
| | | </div> |
| | | </template> |
| | | <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 { column, column0, column1, column2 } from "./data"; |
| | |
| | | adddata2, |
| | | getDeptLazyTree, |
| | | } from "@/api/securityUnit/securityUnit"; |
| | | import { mapGetters } from "vuex"; |
| | | export default { |
| | | data() { |
| | | var w = 160, |
| | | s = 12; |
| | | return { |
| | | 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: { |
| | |
| | | |
| | | treeData: [], |
| | | 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, |
| | | }; |
| | | }) |
| | | ); |
| | | }); |
| | | }, |
| | | title: "我是标题", |
| | | filterText: "搜索关键字自定义", |
| | | defaultExpandAll: true, |
| | | addBtn: false, |
| | | menu: false, |
| | | size: "small", |
| | | formOption: { |
| | | labelWidth: 100, |
| | | column: [ |
| | | { |
| | | label: "自定义项", |
| | | prop: "label", |
| | | }, |
| | | ], |
| | | }, |
| | | props: { |
| | | labelText: "标题", |
| | | label: "title", |
| | | value: "value", |
| | | 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: { |
| | | title: "保安单位基本信息", |
| | | title0: "保安单位基本信息", |
| | | }, |
| | | option0: { |
| | | emptyBtn: false, |
| | |
| | | column: column0, |
| | | }, |
| | | obj1: { |
| | | title: "保安单位出资人员", |
| | | title1: "保安单位出资人员", |
| | | }, |
| | | option1: { |
| | | emptyBtn: false, |
| | |
| | | column: column1, |
| | | }, |
| | | obj2: { |
| | | title: "主要管理人员信息", |
| | | title2: "主要管理人员信息", |
| | | }, |
| | | option2: { |
| | | emptyBtn: false, |
| | |
| | | data0: {}, |
| | | data1: {}, |
| | | data2: {}, |
| | | b0: {}, |
| | | b1: {}, |
| | | b2: {}, |
| | | noshehuibianma: 0, |
| | | nobumen: 0, |
| | | |
| | | query: {}, |
| | | data: [], |
| | | option: { |
| | | index: true, |
| | | addBtn: false, |
| | | card: true, |
| | | // card: true, |
| | | tip: false, |
| | | searchSize: "mini", |
| | | searchMenuSpan: 6, |
| | | height: 547, |
| | | menuWidth: 160, |
| | | height: 583, |
| | | menuWidth: 220, |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["userInfo"]), |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | ids.push(ele.creditcode); |
| | | }); |
| | | return ids.join(","); |
| | | }, |
| | |
| | | }, |
| | | }, |
| | | 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)); |
| | |
| | | // this.$message.success("页码" + val); |
| | | }, |
| | | rowSave(form, done, loading) { |
| | | console.log("save1"); |
| | | // console.log("save1"); |
| | | this.forms = 0; |
| | | var that = this; |
| | | //先获取部门接口 |
| | | getDeptLazyTree().then((res) => { |
| | | var d = res.data.data; |
| | | that.treeData = d; |
| | | // console.log(d); |
| | | }); |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | |
| | | }) |
| | | .then(() => { |
| | | console.log(row); |
| | | return remove(row.creditcode); |
| | | return remove(row.creditcode, row.departmentid); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | this.$confirm("确定批量将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | console.log(this.ids); |
| | | // return remove(this.ids); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | rowClick(row) { |
| | | console.log(row); |
| | | row.identificationnumber; //统一社会信用代码 |
| | | // console.log(row); |
| | | // row.identificationnumber; //统一社会信用代 码 |
| | | window.localStorage.setItem("danweidata", JSON.stringify(row)); |
| | | this.$router.push({ |
| | | path: "/securityUnitChild", |
| | | // redirect: { name: "foo" }, |
| | | query: { row: row }, |
| | | 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) => { |
| | | // console.log(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.nobumen = 1; |
| | | }, |
| | | // 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 b = {}; |
| | | var d = {}; |
| | | for (var k in this.obj0) { |
| | | if (k != "title") { |
| | | b[k] = this.obj0[k]; |
| | | for (var i in column0) { |
| | | if (k == column0[i].prop && k != "title0") { |
| | | d[k] = this.obj0[k]; |
| | | } |
| | | } |
| | | } |
| | | this.data0 = b; |
| | | 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 b = {}; |
| | | var d = {}; |
| | | for (var k in this.obj1) { |
| | | if (k != "title") { |
| | | b[k] = this.obj1[k]; |
| | | for (var i in column1) { |
| | | if (k == column1[i].prop && k != "title1") { |
| | | d[k] = this.obj1[k]; |
| | | } |
| | | } |
| | | } |
| | | this.data1 = b; |
| | | 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 b = {}; |
| | | var d = {}; |
| | | for (var k in this.obj2) { |
| | | if (k != "title") { |
| | | b[k] = this.obj2[k]; |
| | | for (var i in column2) { |
| | | if (k == column2[i].prop && k != "title2") { |
| | | d[k] = this.obj2[k]; |
| | | } |
| | | } |
| | | } |
| | | this.data2 = b; |
| | | 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); |
| | | }); |
| | |
| | | adddata2(this.data2).then((res) => { |
| | | console.log(res, 2); |
| | | }); |
| | | this.onLoad(this.page, this.query); |
| | | console.log(this.data0, this.data1, this.data2); |
| | | var time = setTimeout(() => { |
| | | this.onLoad(this.page, this.query); |
| | | console.log(this.data0, this.data1, this.data2, "已刷新"); |
| | | }, 500); |
| | | this.tipover(); |
| | | }, |
| | | tip1up1() { |
| | |
| | | tipover() { |
| | | this.forms = -1; |
| | | this.obj0 = { |
| | | title: "保安单位基本信息", |
| | | title0: "保安单位基本信息", |
| | | }; |
| | | this.obj0 = { |
| | | title: "保安单位出资人员", |
| | | this.obj1 = { |
| | | title1: "保安单位出资人员", |
| | | }; |
| | | this.obj2 = { |
| | | title: "主要管理人员信息", |
| | | title2: "主要管理人员信息", |
| | | }; |
| | | this.data0 = {}; |
| | | this.data1 = {}; |
| | |
| | | return true; |
| | | } |
| | | if (this.nobumen == 0) { |
| | | return false; |
| | | this.$message.warning("请选则部门"); |
| | | return true; |
| | | } |
| | | return false; |
| | | }, |
| | | }, |
| | | watch: { |
| | | haveID() { |
| | | if (this.haveID > 9000) { |
| | | //统一社会信用代码判断 |
| | | this.noshehuibianma = 1; |
| | | } else { |
| | | this.noshehuibianma = 0; |
| | | // 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() {}, |
| | |
| | | // border: 1px solid #000; |
| | | box-sizing: border-box; |
| | | } |
| | | .el-card__body { |
| | | padding-bottom: 5px !important; |
| | | } |
| | | .avue-crud__tip, |
| | | .el-tag, |
| | | .el-tag--light { |
| | | padding: 0 !important; |
| | | } |
| | | // .el-card__body { |
| | | // padding-bottom: 5px !important; |
| | | // } |
| | | // .avue-crud__tip, |
| | | // .el-tag, |
| | | // .el-tag--light { |
| | | // padding: 0 !important; |
| | | // } |
| | | |
| | | .lod { |
| | | position: absolute; |
| | |
| | | width: 15%; |
| | | top: 100px; |
| | | left: 0; |
| | | display: none; |
| | | // display: none; |
| | | } |
| | | .lod-in { |
| | | width: 70%; |
| | | height: auto; |
| | | background-color: transparent; |
| | | |
| | | // padding: 10px 0 0 0; |
| | | } |
| | | |
| | | .el-collapse-item { |
| | | padding-top: 15px !important; |
| | | } |
| | | } |
| | | </style> |
| | | .el-collapse { |
| | | border-top: 1px solid transparent !important; |
| | | } |
| | | </style> |