|
|
@@ -0,0 +1,499 @@
|
|
|
+<template>
|
|
|
+ <div class="rule-type">
|
|
|
+ <el-dialog
|
|
|
+ :title="id ? '编辑离行式自助银行' : '新增离行式自助银行'"
|
|
|
+ :visible.sync="isShow"
|
|
|
+ width="800px"
|
|
|
+ >
|
|
|
+ <div class="page-body">
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item
|
|
|
+ v-if="this.pId != -1"
|
|
|
+ label="上级机构"
|
|
|
+ prop="parentId"
|
|
|
+ >
|
|
|
+ <treeselect
|
|
|
+ v-model="form.parentId"
|
|
|
+ :options="deptOptions"
|
|
|
+ :normalizer="normalizer"
|
|
|
+ placeholder="选择上级机构"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="机构名称">
|
|
|
+ <el-input v-model="form.name" placeholder="请输入机构名称" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="机构简称" prop="shortName">
|
|
|
+ <el-input
|
|
|
+ v-model="form.shortName"
|
|
|
+ placeholder="请输入机构简称"
|
|
|
+ maxlength="20"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="部门机构电话" prop="managerPhone">
|
|
|
+ <el-input
|
|
|
+ v-model="form.managerPhone"
|
|
|
+ placeholder="请输入联系电话"
|
|
|
+ maxlength="11"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="部门机构地址" prop="address">
|
|
|
+ <el-input
|
|
|
+ v-model="form.address"
|
|
|
+ placeholder="请输入地址"
|
|
|
+ maxlength="50"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="排序号" prop="sort">
|
|
|
+ <el-input-number
|
|
|
+ v-model="form.sort"
|
|
|
+ controls-position="right"
|
|
|
+ :min="0"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="是否可用" prop="isLock">
|
|
|
+ <el-switch v-model="form.isLock"> </el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item
|
|
|
+ label="加钞间出入口远程控制"
|
|
|
+ prop="cashAddingRoomRemoteControl"
|
|
|
+ >
|
|
|
+ <el-switch v-model="form.cashAddingRoomRemoteControl">
|
|
|
+ </el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item
|
|
|
+ label="离行式大堂设备"
|
|
|
+ prop="detachedLobbyEquipment"
|
|
|
+ >
|
|
|
+ <el-input-number
|
|
|
+ v-model="form.detachedLobbyEquipment"
|
|
|
+ controls-position="right"
|
|
|
+ :min="0"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item
|
|
|
+ label="离行式穿墙设备"
|
|
|
+ prop="detachedWallPenetratingEquipment"
|
|
|
+ >
|
|
|
+ <el-input-number
|
|
|
+ v-model="form.detachedWallPenetratingEquipment"
|
|
|
+ controls-position="right"
|
|
|
+ :min="0"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <el-button @click="handleOrgAdd">新增物防建设</el-button>
|
|
|
+
|
|
|
+ <el-table
|
|
|
+ border
|
|
|
+ size="small"
|
|
|
+ v-loading="orgloading"
|
|
|
+ :data="constructionList"
|
|
|
+ @selection-change="handleOrgSelectionChange"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <el-table-column label="序号" align="center" prop="id" />
|
|
|
+ <el-table-column label="标准" align="center" prop="standard" />
|
|
|
+ <el-table-column
|
|
|
+ label="达标日期"
|
|
|
+ align="center"
|
|
|
+ prop="dateOfCompliance"
|
|
|
+ width="180"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ formatTime(scope.row.dateOfCompliance) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ v-if="false"
|
|
|
+ label="机构id"
|
|
|
+ align="center"
|
|
|
+ prop="orgId"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="操作"
|
|
|
+ align="center"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleOrgUpdate(scope.row)"
|
|
|
+ v-hasPermi="['system:construction:edit']"
|
|
|
+ >查看证书</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleOrgUpdate(scope.row)"
|
|
|
+ v-hasPermi="['system:construction:edit']"
|
|
|
+ >修改</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleOrgDelete(scope.row)"
|
|
|
+ v-hasPermi="['system:construction:remove']"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="onHide">取消</el-button>
|
|
|
+ <el-button type="primary" @click="onSubmit">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ :title="orgtitle"
|
|
|
+ :visible.sync="orgopen"
|
|
|
+ width="500px"
|
|
|
+ append-to-body
|
|
|
+ >
|
|
|
+ <el-form ref="orgform" :model="orgform" label-width="80px">
|
|
|
+ <el-form-item label="标准" prop="standard">
|
|
|
+ <el-input v-model="orgform.standard" placeholder="请输入标准" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="达标日期" prop="dateOfCompliance">
|
|
|
+ <el-date-picker
|
|
|
+ clearable
|
|
|
+ v-model="orgform.dateOfCompliance"
|
|
|
+ type="datetime"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ placeholder="请选择达标日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="证书佐证" prop="certificateEvidence">
|
|
|
+ <el-switch
|
|
|
+ v-model="orgform.certificateEvidence"
|
|
|
+ active-text
|
|
|
+ :active-value="1"
|
|
|
+ :inactive-value="0"
|
|
|
+ ></el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="orgform.certificateEvidence"
|
|
|
+ label="证书"
|
|
|
+ prop="certificate"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-if="false"
|
|
|
+ v-model="orgform.certificate"
|
|
|
+ placeholder="请输入证书"
|
|
|
+ />
|
|
|
+ <div class="image-container" style="margin-left: 20px">
|
|
|
+ <p style="font-size: 12px; color: #999">上传证书</p>
|
|
|
+ <image-upload :limit="1" :fileSize="2"></image-upload>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="false" label="佐证" prop="evidence">
|
|
|
+ <el-input v-model="orgform.evidence" placeholder="请输入佐证" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="false" label="机构id" prop="orgId">
|
|
|
+ <el-input v-model="orgform.orgId" placeholder="请输入机构id" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitOrgForm">确 定</el-button>
|
|
|
+ <el-button @click="orgcancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import Treeselect from "@riophae/vue-treeselect";
|
|
|
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
+import {
|
|
|
+ listOrgPhysicalDefenseConstruction,
|
|
|
+ getOrgPhysicalDefenseConstruction,
|
|
|
+ addOrgPhysicalDefenseConstruction,
|
|
|
+ updateOrgPhysicalDefenseConstruction,
|
|
|
+ delOrgPhysicalDefenseConstruction,
|
|
|
+} from "@/api/system/OrgPhysicalDefenseConstruction";
|
|
|
+import { deptTreeSelect } from "@/api/system/public";
|
|
|
+import {
|
|
|
+ listExtend,
|
|
|
+ getExtend,
|
|
|
+ addExtend,
|
|
|
+ updateExtend,
|
|
|
+ delExtend,
|
|
|
+ getExtendByOrgId,
|
|
|
+ uploadFile,
|
|
|
+ addOrUpdate,
|
|
|
+} from "@/api/system/extend";
|
|
|
+export default {
|
|
|
+ dicts: ["sys_normal_disable", "sys_org_type"],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ // 查询参数
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ name: "",
|
|
|
+ status: undefined,
|
|
|
+ parentId: undefined,
|
|
|
+ },
|
|
|
+ // 机构树选项
|
|
|
+ deptOptions: [],
|
|
|
+ id: "",
|
|
|
+ pId: 0,
|
|
|
+ orgid: "",
|
|
|
+ // 表单参数
|
|
|
+ orgform: {},
|
|
|
+ //默认选中节点
|
|
|
+ defaultKeys: [],
|
|
|
+ rules: {
|
|
|
+ parentId: [
|
|
|
+ { required: true, message: "上级机构不能为空", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ name: [
|
|
|
+ { required: true, message: "机构名称不能为空", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ orderNum: [
|
|
|
+ { required: true, message: "显示排序不能为空", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ isLock: [{ required: true, message: "状态不能为空", trigger: "blur" }],
|
|
|
+ phone: [
|
|
|
+ {
|
|
|
+ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
|
|
+ message: "请输入正确的手机号码",
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ orgopen: false,
|
|
|
+ orgtitle: "",
|
|
|
+ form: {},
|
|
|
+ constructionList: [],
|
|
|
+ tableData: [],
|
|
|
+ id: null,
|
|
|
+ isShow: false,
|
|
|
+ orgloading: false,
|
|
|
+ };
|
|
|
+ },
|
|
|
+
|
|
|
+ watch: {},
|
|
|
+ computed: {},
|
|
|
+ created() {
|
|
|
+ this.getDeptTree();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getOrgPhysicalDefenseConstructionInfo() {
|
|
|
+ this.orgloading = true;
|
|
|
+ let dat = { orgId: this.orgid, type: 4 };
|
|
|
+ listOrgPhysicalDefenseConstruction(dat).then((data) => {
|
|
|
+ console.log("机构信息获取成功");
|
|
|
+ this.constructionList = data.rows;
|
|
|
+ this.orgloading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 多选框选中数据
|
|
|
+ handleOrgSelectionChange(selection) {
|
|
|
+ this.orgids = selection.map((item) => item.id);
|
|
|
+ this.single = selection.length !== 1;
|
|
|
+ this.multiple = !selection.length;
|
|
|
+ },
|
|
|
+ // 取消按钮
|
|
|
+ orgcancel() {
|
|
|
+ this.orgopen = false;
|
|
|
+ this.orgreset();
|
|
|
+ },
|
|
|
+ /** 提交按钮 */
|
|
|
+ submitOrgForm() {
|
|
|
+ this.orgform.orgId = this.orgid;
|
|
|
+ this.$refs["orgform"].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.orgform.type = 4;
|
|
|
+ if (this.orgform.id != null) {
|
|
|
+ updateOrgPhysicalDefenseConstruction(this.orgform).then(
|
|
|
+ (response) => {
|
|
|
+ this.$modal.msgSuccess("修改成功");
|
|
|
+ this.orgopen = false;
|
|
|
+ this.getOrgPhysicalDefenseConstructionInfo();
|
|
|
+ }
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ addOrgPhysicalDefenseConstruction(this.orgform).then((response) => {
|
|
|
+ this.$modal.msgSuccess("新增成功");
|
|
|
+ this.orgopen = false;
|
|
|
+ this.getOrgPhysicalDefenseConstructionInfo();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 删除按钮操作 */
|
|
|
+ handleOrgDelete(row) {
|
|
|
+ const orgids = row.id || this.orgids;
|
|
|
+ this.$modal
|
|
|
+ .confirm('是否确认删除机构物防建设编号为"' + orgids + '"的数据项?')
|
|
|
+ .then(function () {
|
|
|
+ return delOrgPhysicalDefenseConstruction(orgids);
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.getOrgPhysicalDefenseConstructionInfo();
|
|
|
+ this.$modal.msgSuccess("删除成功");
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
+ /** 修改按钮操作 */
|
|
|
+ handleOrgUpdate(row) {
|
|
|
+ this.orgreset();
|
|
|
+ const id = row.id || this.orgids;
|
|
|
+ getOrgPhysicalDefenseConstruction(id).then((response) => {
|
|
|
+ // console.log(response)
|
|
|
+ this.orgform = response.data;
|
|
|
+ this.orgopen = true;
|
|
|
+ this.orgtitle = "修改机构物防建设";
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 新增按钮操作 */
|
|
|
+ handleOrgAdd() {
|
|
|
+ this.orgreset();
|
|
|
+ this.orgopen = true;
|
|
|
+ this.orgtitle = "添加机构物防建设";
|
|
|
+ },
|
|
|
+ // 表单重置
|
|
|
+ orgreset() {
|
|
|
+ this.orgform = {
|
|
|
+ id: null,
|
|
|
+ standard: null,
|
|
|
+ dateOfCompliance: null,
|
|
|
+ certificateEvidence: null,
|
|
|
+ certificate: null,
|
|
|
+ evidence: null,
|
|
|
+ createTime: null,
|
|
|
+ updateTime: null,
|
|
|
+ createBy: null,
|
|
|
+ updateBy: null,
|
|
|
+ orgId: null,
|
|
|
+ };
|
|
|
+ this.resetForm("orgform");
|
|
|
+ },
|
|
|
+ /** 转换机构数据结构 */
|
|
|
+ normalizer(node) {
|
|
|
+ if (node.children && !node.children.length) {
|
|
|
+ delete node.children;
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ id: node.id,
|
|
|
+ label: node.name,
|
|
|
+ children: node.children,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /** 查询机构下拉树结构 */
|
|
|
+ getDeptTree() {
|
|
|
+ deptTreeSelect().then((response) => {
|
|
|
+ this.deptOptions = response.data;
|
|
|
+ this.defaultKeys.push(response.data[0].id);
|
|
|
+ this.queryParams.parentId = response.data[0].id;
|
|
|
+ // this.handleQuery();
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ async show(row) {
|
|
|
+ this.form=[];
|
|
|
+ this.id=0;
|
|
|
+ this.constructionList=[];
|
|
|
+ if (row != 0) {
|
|
|
+ // console.log(row)
|
|
|
+ this.orgid = row.orgid;
|
|
|
+ this.form = row;
|
|
|
+ this.id = row.id;
|
|
|
+ if (row.id != null) {
|
|
|
+ getExtendByOrgId(row.id).then((data) => {
|
|
|
+ console.log(data.data);
|
|
|
+ if (data.data != null) {
|
|
|
+ this.form.cashAddingRoomRemoteControl =
|
|
|
+ data.data.cashAddingRoomRemoteControl;
|
|
|
+ this.form.detachedLobbyEquipment =
|
|
|
+ data.data.detachedLobbyEquipment;
|
|
|
+ this.form.detachedWallPenetratingEquipment =
|
|
|
+ data.data.detachedWallPenetratingEquipment;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.getOrgPhysicalDefenseConstructionInfo();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.isShow = true;
|
|
|
+ },
|
|
|
+
|
|
|
+ // 事件
|
|
|
+ onHide() {
|
|
|
+ this.isShow = false;
|
|
|
+ },
|
|
|
+
|
|
|
+ onSubmit() {
|
|
|
+ this.$refs.form.validate(async (isValidate) => {
|
|
|
+ this.form.isLock = this.form.isLock ? 1 : 0;
|
|
|
+ this.form.cashAddingRoomRemoteControl = this.form
|
|
|
+ .cashAddingRoomRemoteControl
|
|
|
+ ? 1
|
|
|
+ : 0;
|
|
|
+ console.log(this.form);
|
|
|
+ addOrUpdate(this.form).then((data) => {
|
|
|
+ this.$modal.msgSuccess("添加成功");
|
|
|
+this.onHide();
|
|
|
+
|
|
|
+ });
|
|
|
+ // this.$emit("success");
|
|
|
+
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 事件
|
|
|
+ //apimark//
|
|
|
+ },
|
|
|
+ mounted() {},
|
|
|
+ components: { Treeselect },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.brand_info {
|
|
|
+ .el-form {
|
|
|
+ width: 600px;
|
|
|
+ padding-top: 40px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|