瀏覽代碼

新增离行式自助银行,中心业务库

luojun 2 年之前
父節點
當前提交
5417cde74f
共有 3 個文件被更改,包括 519 次插入6 次删除
  1. 8 0
      src/api/system/extend.js
  2. 499 0
      src/views/system/dept/dialog.edit.vue
  3. 12 6
      src/views/system/dept/index.vue

+ 8 - 0
src/api/system/extend.js

@@ -37,6 +37,14 @@ export function addExtend(data) {
 }
 
 // 修改机构扩展
+export function addOrUpdate(data) {
+  return request({
+    url: '/system/extend/addOrUpdate',
+    method: 'post',
+    data: data
+  })
+}
+// 修改机构扩展
 export function updateExtend(data) {
   return request({
     url: '/system/extend',

+ 499 - 0
src/views/system/dept/dialog.edit.vue

@@ -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>

+ 12 - 6
src/views/system/dept/index.vue

@@ -38,8 +38,10 @@
 
         <el-row :gutter="10" class="mb8">
           <el-col :span="1.5">
-            <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
-              v-hasPermi="['system:dept:add']">新增</el-button>
+            <el-button 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(row)"
+              v-hasPermi="['system:dept:add']">新增中心业务库</el-button>
           </el-col>
           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
@@ -77,7 +79,7 @@
                 <el-button size="mini" type="text" icon="el-icon-plus"
                   v-hasPermi="['system:dept:extend']">补充信息</el-button>
               </router-link>
-              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+              <el-button size="mini" type="text" icon="el-icon-edit" @click="showDialogEdit(scope.row)"
                 v-hasPermi="['system:dept:edit']">修改</el-button>
               <el-button v-if="scope.row.parentId != 0" size="mini" type="text" icon="el-icon-delete"
                 @click="handleDelete(scope.row)" v-hasPermi="['system:dept:remove']">删除</el-button>
@@ -146,20 +148,20 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+    <DialogEdit ref="dialogEdit" ></DialogEdit>
   </div>
 </template>
 
 <script>
 import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
 import { deptTreeSelect } from "@/api/system/public";
-import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-
+import DialogEdit from "@/views/system/dept/dialog.edit.vue";
 export default {
   name: "Dept",
   dicts: ['sys_normal_disable', 'sys_org_type'],
-  components: { Treeselect },
+  components: { Treeselect ,DialogEdit},
   data() {
     return {
       // 遮罩层
@@ -399,6 +401,10 @@ export default {
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
+    showDialogEdit(row){
+
+      this.$refs.dialogEdit.show(row);
+    },
   },
   watch: {
     // 根据名称筛选机构树