xiao547607 3 سال پیش
والد
کامیت
90eae8c7db

+ 46 - 0
src/api/base/company.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function pageList(formData){
+  return request.post(constant.serverUrl + "/base/company/pageList", formData);
+}
+
+function create(){
+  return request.get(constant.serverUrl + "/base/company/create");
+}
+
+function edit(id){
+  return request.get(constant.serverUrl + "/base/company/edit/" + id);
+}
+
+function add(formModel){
+  return request.post(constant.serverUrl + "/base/company/add", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function update(formModel){  
+  return request.post(constant.serverUrl + "/base/company/update", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function remove(id){
+  return request.post(constant.serverUrl + "/base/company/delete/" + id);
+}
+
+function batchRemove(idList){
+  return request.post(constant.serverUrl + "/base/company/batchDelete",idList,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+export default {
+  create,edit,add,update,remove,batchRemove,pageList
+}

+ 46 - 0
src/api/base/enterpriseCertificationApprove.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function pageList(formData){
+  return request.post(constant.serverUrl + "/base/enterpriseCertificationApprove/pageList", formData);
+}
+
+function create(){
+  return request.get(constant.serverUrl + "/base/enterpriseCertificationApprove/create");
+}
+
+function edit(id){
+  return request.get(constant.serverUrl + "/base/enterpriseCertificationApprove/edit/" + id);
+}
+
+function add(formModel){
+  return request.post(constant.serverUrl + "/base/enterpriseCertificationApprove/add", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function update(formModel){  
+  return request.post(constant.serverUrl + "/base/enterpriseCertificationApprove/update", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function remove(id){
+  return request.post(constant.serverUrl + "/base/enterpriseCertificationApprove/delete/" + id);
+}
+
+function batchRemove(idList){
+  return request.post(constant.serverUrl + "/base/enterpriseCertificationApprove/batchDelete",idList,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+export default {
+  pageList,create,edit,add,update,remove,batchRemove
+}

+ 46 - 0
src/api/base/labourServices.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function pageList(formData){
+  return request.post(constant.serverUrl + "/base/labourServices/pageList", formData);
+}
+
+function create(){
+  return request.get(constant.serverUrl + "/base/labourServices/create");
+}
+
+function edit(id){
+  return request.get(constant.serverUrl + "/base/labourServices/edit/" + id);
+}
+
+function add(formModel){
+  return request.post(constant.serverUrl + "/base/labourServices/add", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function update(formModel){  
+  return request.post(constant.serverUrl + "/base/labourServices/update", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function remove(id){
+  return request.post(constant.serverUrl + "/base/labourServices/delete/" + id);
+}
+
+function batchRemove(idList){
+  return request.post(constant.serverUrl + "/base/labourServices/batchDelete",idList,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+export default {
+  pageList,create,edit,add,update,remove,batchRemove
+}

+ 46 - 0
src/api/base/resumeApprove.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function pageList(formData){
+  return request.post(constant.serverUrl + "/base/resumeApprove/pageList", formData);
+}
+
+function create(){
+  return request.get(constant.serverUrl + "/base/resumeApprove/create");
+}
+
+function edit(id){
+  return request.get(constant.serverUrl + "/base/resumeApprove/edit/" + id);
+}
+
+function add(formModel){
+  return request.post(constant.serverUrl + "/base/resumeApprove/add", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function update(formModel){  
+  return request.post(constant.serverUrl + "/base/resumeApprove/update", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function remove(id){
+  return request.post(constant.serverUrl + "/base/resumeApprove/delete/" + id);
+}
+
+function batchRemove(idList){
+  return request.post(constant.serverUrl + "/base/resumeApprove/batchDelete",idList,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+export default {
+  pageList,create,edit,add,update,remove,batchRemove
+}

+ 46 - 0
src/api/base/serviceApprove.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function pageList(formData){
+  return request.post(constant.serverUrl + "/base/serviceApprove/pageList", formData);
+}
+
+function create(){
+  return request.get(constant.serverUrl + "/base/serviceApprove/create");
+}
+
+function edit(id){
+  return request.get(constant.serverUrl + "/base/serviceApprove/edit/" + id);
+}
+
+function add(formModel){
+  return request.post(constant.serverUrl + "/base/serviceApprove/add", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function update(formModel){  
+  return request.post(constant.serverUrl + "/base/serviceApprove/update", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function remove(id){
+  return request.post(constant.serverUrl + "/base/serviceApprove/delete/" + id);
+}
+
+function batchRemove(idList){
+  return request.post(constant.serverUrl + "/base/serviceApprove/batchDelete",idList,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+export default {
+  pageList,create,edit,add,update,remove,batchRemove
+}

+ 46 - 0
src/api/base/userAuthenticationApprove.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+import constant from '@/constant'
+
+function pageList(formData){
+  return request.post(constant.serverUrl + "/base/userAuthenticationApprove/pageList", formData);
+}
+
+function create(){
+  return request.get(constant.serverUrl + "/base/userAuthenticationApprove/create");
+}
+
+function edit(id){
+  return request.get(constant.serverUrl + "/base/userAuthenticationApprove/edit/" + id);
+}
+
+function add(formModel){
+  return request.post(constant.serverUrl + "/base/userAuthenticationApprove/add", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function update(formModel){  
+  return request.post(constant.serverUrl + "/base/userAuthenticationApprove/update", formModel,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+function remove(id){
+  return request.post(constant.serverUrl + "/base/userAuthenticationApprove/delete/" + id);
+}
+
+function batchRemove(idList){
+  return request.post(constant.serverUrl + "/base/userAuthenticationApprove/batchDelete",idList,{
+    headers: {
+      "Content-Type": "application/json"
+    }
+  });
+}
+
+export default {
+  pageList,create,edit,add,update,remove,batchRemove
+}

+ 2 - 0
src/routers/index.js

@@ -2,6 +2,7 @@ import Vue from 'vue'
 import Router from 'vue-router'
 import Layout from '@/views/layout'
 import Home from '@/views/Home.vue'
+import baseRouters from './modules/base'
 import sysRouters from './modules/sys'
 import { Message } from 'element-ui'
 import NProgress from 'nprogress' // progress bar
@@ -26,6 +27,7 @@ export const constantRoutes = [
           affix: true
         }
       },
+      ...baseRouters,
       ...sysRouters,
     ]
   },

+ 16 - 0
src/routers/modules/base.js

@@ -0,0 +1,16 @@
+var routers = [
+        {
+                path: '/sys/user/list',
+                name: 'SysUserList',
+                // route level code-splitting
+                // this generates a separate chunk (about.[hash].js) for this route
+                // which is lazy-loaded when the route is visited.
+                component: () => import('@/views/sys/user-list.vue'),
+                meta: {
+                        roles: ["admin"],
+                        title: '用户管理'
+                }
+        }
+]
+
+export default routers;

+ 330 - 0
src/views/base/company-detail.vue

@@ -0,0 +1,330 @@
+
+<style scoped>
+.user-panel {
+  margin: 10px auto;
+}
+</style>
+<template>
+  <el-dialog
+    :visible.sync="showDialog"
+    :title="title"
+    :modal-append-to-body="false"
+    style="text-align: left"
+    @close="closeDialog"
+    :close-on-click-modal="false"
+  >
+    <div class="user-panel" v-loading="loading">
+      <el-form
+        ref="form"
+        :model="formModel"
+        :rules="ruleValidate"
+        :label-width="'100px'"
+      >
+        <el-form-item label="" prop="id">
+          <el-input
+            v-model="formModel.id"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="企业名称" prop="name">
+          <el-input
+            v-model="formModel.name"
+            placeholder="请输入企业名称"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="企业类型" prop="type">
+          <el-input
+            v-model="formModel.type"
+            placeholder="请输入企业类型"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="企业规模" prop="scale">
+          <el-input
+            v-model="formModel.scale"
+            placeholder="请输入企业规模"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="所属行业" prop="industry">
+          <el-input
+            v-model="formModel.industry"
+            placeholder="请输入所属行业"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="企业地址" prop="address">
+          <el-input
+            v-model="formModel.address"
+            placeholder="请输入企业地址"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="企业介绍" prop="introduction">
+          <el-input
+            v-model="formModel.introduction"
+            placeholder="请输入企业介绍"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="联系人" prop="contactPerson">
+          <el-input
+            v-model="formModel.contactPerson"
+            placeholder="请输入联系人"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="联系电话" prop="tel">
+          <el-input
+            v-model="formModel.tel"
+            placeholder="请输入联系电话"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="经度" prop="longtitude">
+          <el-input
+            v-model="formModel.longtitude"
+            placeholder="请输入经度"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="纬度" prop="latitude">
+          <el-input
+            v-model="formModel.latitude"
+            placeholder="请输入纬度"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="企业邮箱" prop="email">
+          <el-input
+            v-model="formModel.email"
+            placeholder="请输入企业邮箱"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="排序" prop="sortNo">
+          <el-input
+            v-model="formModel.sortNo"
+            placeholder="请输入排序"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createBy">
+          <el-input
+            v-model="formModel.createBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createTime">
+          <el-input
+            v-model="formModel.createTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateBy">
+          <el-input
+            v-model="formModel.updateBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateTime">
+          <el-input
+            v-model="formModel.updateTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="删除标示" prop="delFlag">
+          <el-input
+            v-model="formModel.delFlag"
+            placeholder="请输入删除标示"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="是否企业认证" prop="isCertification">
+          <el-input
+            v-model="formModel.isCertification"
+            placeholder="请输入是否企业认证"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="信用代码" prop="creditCode">
+          <el-input
+            v-model="formModel.creditCode"
+            placeholder="请输入信用代码"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="法人代表" prop="legalPerson">
+          <el-input
+            v-model="formModel.legalPerson"
+            placeholder="请输入法人代表"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="法人联系方式" prop="legalTel">
+          <el-input
+            v-model="formModel.legalTel"
+            placeholder="请输入法人联系方式"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="营业执照" prop="businessLicenseUrl">
+          <el-input
+            v-model="formModel.businessLicenseUrl"
+            placeholder="请输入营业执照"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="closeDialog">取 消</el-button>
+      <el-button type="primary" @click="handleSubmit" :loading="submitting"
+        >确 定</el-button
+      >
+    </span>
+  </el-dialog>
+</template>
+<script>
+import Constant from "@/constant";
+import companyApi from "@/api/base/company";
+
+export default {
+  props: ["businessKey", "title"],
+  data() {
+    return {
+      formModel: {},
+      ruleValidate: {
+        id: [{ required: true, message: "不能为空", trigger: "blur" }],
+        name: [
+          { required: true, message: "企业名称不能为空", trigger: "blur" },
+        ],
+        type: [
+          { required: true, message: "企业类型不能为空", trigger: "blur" },
+        ],
+        scale: [
+          { required: true, message: "企业规模不能为空", trigger: "blur" },
+        ],
+        industry: [
+          { required: true, message: "所属行业不能为空", trigger: "blur" },
+        ],
+        address: [
+          { required: true, message: "企业地址不能为空", trigger: "blur" },
+        ],
+        introduction: [
+          { required: true, message: "企业介绍不能为空", trigger: "blur" },
+        ],
+        contactPerson: [
+          { required: true, message: "联系人不能为空", trigger: "blur" },
+        ],
+        tel: [{ required: true, message: "联系电话不能为空", trigger: "blur" }],
+        longtitude: [
+          { required: true, message: "经度不能为空", trigger: "blur" },
+        ],
+        latitude: [
+          { required: true, message: "纬度不能为空", trigger: "blur" },
+        ],
+        email: [
+          { required: true, message: "企业邮箱不能为空", trigger: "blur" },
+        ],
+        sortNo: [{ required: true, message: "排序不能为空", trigger: "blur" }],
+        createBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        delFlag: [
+          { required: true, message: "删除标示不能为空", trigger: "blur" },
+        ],
+        isCertification: [
+          { required: true, message: "是否企业认证不能为空", trigger: "blur" },
+        ],
+        creditCode: [
+          { required: true, message: "信用代码不能为空", trigger: "blur" },
+        ],
+        legalPerson: [
+          { required: true, message: "法人代表不能为空", trigger: "blur" },
+        ],
+        legalTel: [
+          { required: true, message: "法人联系方式不能为空", trigger: "blur" },
+        ],
+        businessLicenseUrl: [
+          { required: true, message: "营业执照不能为空", trigger: "blur" },
+        ],
+      },
+      showDialog: true,
+      loading: false,
+      submitting: false,
+    };
+  },
+  methods: {
+    closeDialog() {
+      this.$emit("close", false);
+    },
+    handleSubmit() {
+      var self = this;
+
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          (function () {
+            var id = self.formModel.id;
+
+            if (id == null || id.length == 0) {
+              return companyApi.add(self.formModel);
+            } else {
+              return companyApi.update(self.formModel);
+            }
+          })().then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              self.$message({
+                message: "保存成功!",
+                type: "success",
+              });
+
+              self.$emit("close", true);
+            } else {
+              self.$message({
+                message: jsonData.message + "",
+                type: "warning",
+              });
+
+              self.$emit("close", false);
+            }
+          });
+        }
+      });
+    },
+  },
+  mounted: function () {
+    var self = this;
+
+    (function () {
+      if (self.businessKey.length == 0) {
+        return companyApi.create();
+      } else {
+        return companyApi.edit(self.businessKey);
+      }
+    })()
+      .then((response) => {
+        var jsonData = response.data;
+        self.loading = false;
+
+        if (jsonData.result) {
+          self.formModel = jsonData.data;
+        } else {
+          self.$message.error(jsonData.message + "");
+        }
+      })
+      .catch((error) => {
+        self.$message.error(error + "");
+      });
+  },
+};
+</script>

+ 557 - 0
src/views/base/company-list.vue

@@ -0,0 +1,557 @@
+<template>
+  <div>
+    <el-breadcrumb separator=">">
+      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="#">系统管理</a>
+      </el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="/company">company管理</a>
+      </el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-divider></el-divider>
+    <!--
+      要resetFields起作用,必须配置:model和prop
+    -->
+    <el-form
+      ref="queryForm"
+      :model="queryModel"
+      inline
+      class="demo-form-inline"
+    >
+      <el-form-item label="" prop="id">
+        <el-input type="text" size="mini" v-model="queryModel.id"></el-input>
+      </el-form-item>
+      <el-form-item label="企业名称" prop="name">
+        <el-input type="text" size="mini" v-model="queryModel.name"></el-input>
+      </el-form-item>
+      <el-form-item label="企业类型" prop="type">
+        <el-input type="text" size="mini" v-model="queryModel.type"></el-input>
+      </el-form-item>
+      <el-form-item label="企业规模" prop="scale">
+        <el-input type="text" size="mini" v-model="queryModel.scale"></el-input>
+      </el-form-item>
+      <el-form-item label="所属行业" prop="industry">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.industry"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="企业地址" prop="address">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.address"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="企业介绍" prop="introduction">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.introduction"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="联系人" prop="contactPerson">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.contactPerson"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="联系电话" prop="tel">
+        <el-input type="text" size="mini" v-model="queryModel.tel"></el-input>
+      </el-form-item>
+      <el-form-item label="经度" prop="longtitude">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.longtitude"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="纬度" prop="latitude">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.latitude"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="企业邮箱" prop="email">
+        <el-input type="text" size="mini" v-model="queryModel.email"></el-input>
+      </el-form-item>
+      <el-form-item label="排序" prop="sortNo">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.sortNo"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="删除标示" prop="delFlag">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.delFlag"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="是否企业认证" prop="isCertification">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.isCertification"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="信用代码" prop="creditCode">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.creditCode"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="法人代表" prop="legalPerson">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.legalPerson"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="法人联系方式" prop="legalTel">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.legalTel"
+        ></el-input>
+      </el-form-item>
+      <el-form-item
+        label="营业执照"
+        prop="businessLicense
+Url"
+      >
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.businessLicenseUrl"
+        ></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          size="mini"
+          icon="ios-search"
+          @click="changePage(1)"
+          :loading="loading"
+          >查询</el-button
+        >&nbsp;
+        <el-button
+          type="info"
+          size="mini"
+          style="margin-left: 8px"
+          @click="handleReset('queryForm')"
+          >重置</el-button
+        >&nbsp;
+      </el-form-item>
+    </el-form>
+    <el-divider></el-divider>
+    <el-row class="button-group">
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        @click="handleAdd"
+        >新增</el-button
+      >
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        :disabled="multipleSelection.length == 0"
+        @click="handleBatchDelete"
+        >删除选中项</el-button
+      >
+    </el-row>
+    <el-table
+      :data="tableData"
+      style="min-height: 400px"
+      v-loading="loading"
+      stripe
+      @sort-change="sortChange"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55"></el-table-column>
+      <el-table-column prop="id" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="name"
+        label="企业名称"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="type"
+        label="企业类型"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="scale"
+        label="企业规模"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="industry"
+        label="所属行业"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="address"
+        label="企业地址"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="introduction"
+        label="企业介绍"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="contactPerson"
+        label="联系人"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="tel"
+        label="联系电话"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="longtitude"
+        label="经度"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="latitude"
+        label="纬度"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="email"
+        label="企业邮箱"
+        width="180"
+      ></el-table-column>
+      <el-table-column prop="sortNo" label="排序" width="180"></el-table-column>
+      <el-table-column prop="createBy" label="" width="180"></el-table-column>
+      <el-table-column prop="createTime" label="" width="180"></el-table-column>
+      <el-table-column prop="updateBy" label="" width="180"></el-table-column>
+      <el-table-column prop="updateTime" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="delFlag"
+        label="删除标示"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="isCertification"
+        label="是否企业认证"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="creditCode"
+        label="信用代码"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="legalPerson"
+        label="法人代表"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="legalTel"
+        label="法人联系方式"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="businessLicenseUrl"
+        label="营业执照"
+        width="180"
+      ></el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="{ row }">
+          <el-button size="mini" type="warning" @click="handleEdit(row)"
+            >编辑</el-button
+          >
+          <el-button size="mini" type="danger" @click="handleDelete(row)"
+            >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      :current-page.sync="pageIndex"
+      :total="totalElements"
+      :page-sizes="pageSizeList"
+      @current-change="changePage"
+      @size-change="pageSizeChange"
+      layout="total, sizes, prev, pager, next, jumper"
+    ></el-pagination>
+    <company-detail
+      v-if="showModal"
+      :businessKey="businessKey"
+      :title="modalTitle"
+      @close="onDetailModalClose"
+    ></company-detail>
+  </div>
+</template>
+<script>
+import Constant from "@/constant";
+import CompanyDetail from "./company-detail";
+import companyApi from "@/api/base/base/company";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
+
+export default {
+  data() {
+    var self = this;
+
+    return {
+      queryModel: {
+        id: "",
+        name: "",
+        type: "",
+        scale: "",
+        industry: "",
+        address: "",
+        introduction: "",
+        contactPerson: "",
+        tel: "",
+        longtitude: "",
+        latitude: "",
+        email: "",
+        sortNo: "",
+        createBy: "",
+        createTime: "",
+        updateBy: "",
+        updateTime: "",
+        delFlag: "",
+        isCertification: "",
+        creditCode: "",
+        legalPerson: "",
+        legalTel: "",
+        businessLicenseUrl: "",
+      },
+      loading: false,
+      tableData: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPages: 0,
+      totalElements: 0,
+      field: "",
+      direction: "",
+      pageSizeList: [10, 20, 30],
+      multipleSelection: [],
+      showModal: false,
+      modalTitle: "",
+      businessKey: "",
+    };
+  },
+  methods: {
+    changePage(pageIndex) {
+      var self = this;
+
+      self.loading = true;
+
+      self.pageIndex = pageIndex;
+      var formData = new FormData();
+
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
+
+      formData.append("id", self.queryModel.id);
+      formData.append("name", self.queryModel.name);
+      formData.append("type", self.queryModel.type);
+      formData.append("scale", self.queryModel.scale);
+      formData.append("industry", self.queryModel.industry);
+      formData.append("address", self.queryModel.address);
+      formData.append("introduction", self.queryModel.introduction);
+      formData.append("contactPerson", self.queryModel.contactPerson);
+      formData.append("tel", self.queryModel.tel);
+      formData.append("longtitude", self.queryModel.longtitude);
+      formData.append("latitude", self.queryModel.latitude);
+      formData.append("email", self.queryModel.email);
+      formData.append("sortNo", self.queryModel.sortNo);
+      formData.append("createBy", self.queryModel.createBy);
+      formData.append("createTime", self.queryModel.createTime);
+      formData.append("updateBy", self.queryModel.updateBy);
+      formData.append("updateTime", self.queryModel.updateTime);
+      formData.append("delFlag", self.queryModel.delFlag);
+      formData.append("isCertification", self.queryModel.isCertification);
+      formData.append("creditCode", self.queryModel.creditCode);
+      formData.append("legalPerson", self.queryModel.legalPerson);
+      formData.append("legalTel", self.queryModel.legalTel);
+      formData.append("businessLicenseUrl", self.queryModel.businessLicenseUrl);
+
+      if (this.field != null) {
+        formData.append("field", this.field);
+      }
+
+      if (this.direction != null) {
+        formData.append("direction", this.direction);
+      }
+
+      companyApi
+        .pageList(formData)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+
+          self.tableData = jsonData.data;
+          self.totalPages = jsonData.totalPages;
+          self.totalElements = jsonData.recordsTotal;
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
+    pageSizeChange(pageSize) {
+      this.pageSize = pageSize;
+
+      this.$nextTick(() => {
+        this.changePage(this.pageIndex);
+      });
+    },
+    sortChange(data) {
+      this.field = data.column.field;
+      this.direction = data.order;
+
+      this.changePage(this.pageIndex);
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    handleReset(name) {
+      this.$refs[name].resetFields();
+    },
+    handleAdd() {
+      this.modalTitle = "新增";
+      this.businessKey = "";
+      this.showModal = true;
+    },
+    handleEdit(record) {
+      this.modalTitle = "编辑";
+      this.businessKey = record.id;
+      this.showModal = true;
+    },
+    handleDelete(record) {
+      var self = this;
+
+      self
+        .$confirm("是否确认删除?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+        .then(() => {
+          companyApi.remove(record.id).then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              // var index = self.tableData.indexOf(record);
+              // self.tableData.splice(index, 1);
+              self.changePage(self.pageIndex);
+
+              self.$message({
+                type: "success",
+                message: "删除成功!",
+              });
+            }
+          });
+        });
+    },
+    handleBatchDelete() {
+      var self = this;
+
+      var idList = this.multipleSelection.map((record) => {
+        return record.id;
+      });
+
+      this.$confirm("是否确认删除选中项?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        companyApi.batchRemove(idList).then(function (response) {
+          var jsonData = response.data;
+
+          if (jsonData.result) {
+            self.changePage(self.pageIndex);
+
+            self.$message({
+              type: "success",
+              message: "删除成功!",
+            });
+          }
+        });
+      });
+    },
+    onDetailModalClose(refreshed) {
+      //保存成功后回调
+      this.showModal = false;
+
+      if (refreshed) {
+        this.changePage(this.pageIndex);
+      }
+    },
+  },
+  mounted: function () {
+    this.changePage(1);
+  },
+  components: {
+    "company-detail": CompanyDetail,
+  },
+};
+</script>
+<style lang="scss" scoped>
+.el-breadcrumb {
+  margin: 10px;
+  line-height: 20px;
+}
+
+.el-divider {
+  margin: 5px 0;
+}
+
+.demo-form-inline {
+  margin-left: 10px;
+  text-align: left;
+}
+
+.button-group {
+  margin-left: 10px;
+  text-align: left;
+}
+</style>

+ 198 - 0
src/views/base/enterpriseCertificationApprove-detail.vue

@@ -0,0 +1,198 @@
+
+<style scoped>
+.user-panel {
+  margin: 10px auto;
+}
+</style>
+<template>
+  <el-dialog
+    :visible.sync="showDialog"
+    :title="title"
+    :modal-append-to-body="false"
+    style="text-align: left"
+    @close="closeDialog"
+    :close-on-click-modal="false"
+  >
+    <div class="user-panel" v-loading="loading">
+      <el-form
+        ref="form"
+        :model="formModel"
+        :rules="ruleValidate"
+        :label-width="'100px'"
+      >
+        <el-form-item label="" prop="id">
+          <el-input
+            v-model="formModel.id"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createBy">
+          <el-input
+            v-model="formModel.createBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createTime">
+          <el-input
+            v-model="formModel.createTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateBy">
+          <el-input
+            v-model="formModel.updateBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateTime">
+          <el-input
+            v-model="formModel.updateTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="删除标示" prop="delFlag">
+          <el-input
+            v-model="formModel.delFlag"
+            placeholder="请输入删除标示"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="申请认证企业ID" prop="companyId">
+          <el-input
+            v-model="formModel.companyId"
+            placeholder="请输入申请认证企业ID"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批人" prop="approvePersonId">
+          <el-input
+            v-model="formModel.approvePersonId"
+            placeholder="请输入审批人"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批时间" prop="approveTime">
+          <el-input
+            v-model="formModel.approveTime"
+            placeholder="请输入审批时间"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="closeDialog">取 消</el-button>
+      <el-button type="primary" @click="handleSubmit" :loading="submitting"
+        >确 定</el-button
+      >
+    </span>
+  </el-dialog>
+</template>
+<script>
+import Constant from "@/constant";
+import enterpriseCertificationApproveApi from "@/api/base/enterpriseCertificationApprove";
+
+export default {
+  props: ["businessKey", "title"],
+  data() {
+    return {
+      formModel: {},
+      ruleValidate: {
+        id: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        delFlag: [
+          { required: true, message: "删除标示不能为空", trigger: "blur" },
+        ],
+        companyId: [
+          {
+            required: true,
+            message: "申请认证企业ID不能为空",
+            trigger: "blur",
+          },
+        ],
+        approvePersonId: [
+          { required: true, message: "审批人不能为空", trigger: "blur" },
+        ],
+        approveTime: [
+          { required: true, message: "审批时间不能为空", trigger: "blur" },
+        ],
+      },
+      showDialog: true,
+      loading: false,
+      submitting: false,
+    };
+  },
+  methods: {
+    closeDialog() {
+      this.$emit("close", false);
+    },
+    handleSubmit() {
+      var self = this;
+
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          (function () {
+            var id = self.formModel.id;
+
+            if (id == null || id.length == 0) {
+              return enterpriseCertificationApproveApi.add(self.formModel);
+            } else {
+              return enterpriseCertificationApproveApi.update(self.formModel);
+            }
+          })().then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              self.$message({
+                message: "保存成功!",
+                type: "success",
+              });
+
+              self.$emit("close", true);
+            } else {
+              self.$message({
+                message: jsonData.message + "",
+                type: "warning",
+              });
+
+              self.$emit("close", false);
+            }
+          });
+        }
+      });
+    },
+  },
+  mounted: function () {
+    var self = this;
+
+    (function () {
+      if (self.businessKey.length == 0) {
+        return enterpriseCertificationApproveApi.create();
+      } else {
+        return enterpriseCertificationApproveApi.edit(self.businessKey);
+      }
+    })()
+      .then((response) => {
+        var jsonData = response.data;
+        self.loading = false;
+
+        if (jsonData.result) {
+          self.formModel = jsonData.data;
+        } else {
+          self.$message.error(jsonData.message + "");
+        }
+      })
+      .catch((error) => {
+        self.$message.error(error + "");
+      });
+  },
+};
+</script>

+ 387 - 0
src/views/base/enterpriseCertificationApprove-list.vue

@@ -0,0 +1,387 @@
+<template>
+  <div>
+    <el-breadcrumb separator=">">
+      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="#">系统管理</a>
+      </el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="/enterpriseCertificationApprove"
+          >enterpriseCertificationApprove管理</a
+        >
+      </el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-divider></el-divider>
+    <!--
+      要resetFields起作用,必须配置:model和prop
+    -->
+    <el-form
+      ref="queryForm"
+      :model="queryModel"
+      inline
+      class="demo-form-inline"
+    >
+      <el-form-item label="" prop="id">
+        <el-input type="text" size="mini" v-model="queryModel.id"></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="删除标示" prop="delFlag">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.delFlag"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="申请认证企业ID" prop="companyId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.companyId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批人" prop="approvePersonId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approvePersonId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批时间" prop="approveTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approveTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          size="mini"
+          icon="ios-search"
+          @click="changePage(1)"
+          :loading="loading"
+          >查询</el-button
+        >&nbsp;
+        <el-button
+          type="info"
+          size="mini"
+          style="margin-left: 8px"
+          @click="handleReset('queryForm')"
+          >重置</el-button
+        >&nbsp;
+      </el-form-item>
+    </el-form>
+    <el-divider></el-divider>
+    <el-row class="button-group">
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        @click="handleAdd"
+        >新增</el-button
+      >
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        :disabled="multipleSelection.length == 0"
+        @click="handleBatchDelete"
+        >删除选中项</el-button
+      >
+    </el-row>
+    <el-table
+      :data="tableData"
+      style="min-height: 400px"
+      v-loading="loading"
+      stripe
+      @sort-change="sortChange"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55"></el-table-column>
+      <el-table-column prop="id" label="" width="180"></el-table-column>
+      <el-table-column prop="createBy" label="" width="180"></el-table-column>
+      <el-table-column prop="createTime" label="" width="180"></el-table-column>
+      <el-table-column prop="updateBy" label="" width="180"></el-table-column>
+      <el-table-column prop="updateTime" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="delFlag"
+        label="删除标示"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="companyId"
+        label="申请认证企业ID"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approvePersonId"
+        label="审批人"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approveTime"
+        label="审批时间"
+        width="180"
+      ></el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="{ row }">
+          <el-button size="mini" type="warning" @click="handleEdit(row)"
+            >编辑</el-button
+          >
+          <el-button size="mini" type="danger" @click="handleDelete(row)"
+            >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      :current-page.sync="pageIndex"
+      :total="totalElements"
+      :page-sizes="pageSizeList"
+      @current-change="changePage"
+      @size-change="pageSizeChange"
+      layout="total, sizes, prev, pager, next, jumper"
+    ></el-pagination>
+    <enterpriseCertificationApprove-detail
+      v-if="showModal"
+      :businessKey="businessKey"
+      :title="modalTitle"
+      @close="onDetailModalClose"
+    ></enterpriseCertificationApprove-detail>
+  </div>
+</template>
+<script>
+import Constant from "@/constant";
+import EnterpriseCertificationApproveDetail from "./enterpriseCertificationApprove-detail";
+import enterpriseCertificationApproveApi from "@/api/base/enterpriseCertificationApprove";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
+
+export default {
+  data() {
+    var self = this;
+
+    return {
+      queryModel: {
+        id: "",
+        createBy: "",
+        createTime: "",
+        updateBy: "",
+        updateTime: "",
+        delFlag: "",
+        companyId: "",
+        approvePersonId: "",
+        approveTime: "",
+      },
+      loading: false,
+      tableData: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPages: 0,
+      totalElements: 0,
+      field: "",
+      direction: "",
+      pageSizeList: [10, 20, 30],
+      multipleSelection: [],
+      showModal: false,
+      modalTitle: "",
+      businessKey: "",
+    };
+  },
+  methods: {
+    changePage(pageIndex) {
+      var self = this;
+
+      self.loading = true;
+
+      self.pageIndex = pageIndex;
+      var formData = new FormData();
+
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
+
+      formData.append("id", self.queryModel.id);
+      formData.append("createBy", self.queryModel.createBy);
+      formData.append("createTime", self.queryModel.createTime);
+      formData.append("updateBy", self.queryModel.updateBy);
+      formData.append("updateTime", self.queryModel.updateTime);
+      formData.append("delFlag", self.queryModel.delFlag);
+      formData.append("companyId", self.queryModel.companyId);
+      formData.append("approvePersonId", self.queryModel.approvePersonId);
+      formData.append("approveTime", self.queryModel.approveTime);
+
+      if (this.field != null) {
+        formData.append("field", this.field);
+      }
+
+      if (this.direction != null) {
+        formData.append("direction", this.direction);
+      }
+
+      enterpriseCertificationApproveApi
+        .pageList(formData)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+
+          self.tableData = jsonData.data;
+          self.totalPages = jsonData.totalPages;
+          self.totalElements = jsonData.recordsTotal;
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
+    pageSizeChange(pageSize) {
+      this.pageSize = pageSize;
+
+      this.$nextTick(() => {
+        this.changePage(this.pageIndex);
+      });
+    },
+    sortChange(data) {
+      this.field = data.column.field;
+      this.direction = data.order;
+
+      this.changePage(this.pageIndex);
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    handleReset(name) {
+      this.$refs[name].resetFields();
+    },
+    handleAdd() {
+      this.modalTitle = "新增";
+      this.businessKey = "";
+      this.showModal = true;
+    },
+    handleEdit(record) {
+      this.modalTitle = "编辑";
+      this.businessKey = record.id;
+      this.showModal = true;
+    },
+    handleDelete(record) {
+      var self = this;
+
+      self
+        .$confirm("是否确认删除?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+        .then(() => {
+          enterpriseCertificationApproveApi
+            .remove(record.id)
+            .then(function (response) {
+              var jsonData = response.data;
+
+              if (jsonData.result) {
+                // var index = self.tableData.indexOf(record);
+                // self.tableData.splice(index, 1);
+                self.changePage(self.pageIndex);
+
+                self.$message({
+                  type: "success",
+                  message: "删除成功!",
+                });
+              }
+            });
+        });
+    },
+    handleBatchDelete() {
+      var self = this;
+
+      var idList = this.multipleSelection.map((record) => {
+        return record.id;
+      });
+
+      this.$confirm("是否确认删除选中项?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        enterpriseCertificationApproveApi
+          .batchRemove(idList)
+          .then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              self.changePage(self.pageIndex);
+
+              self.$message({
+                type: "success",
+                message: "删除成功!",
+              });
+            }
+          });
+      });
+    },
+    onDetailModalClose(refreshed) {
+      //保存成功后回调
+      this.showModal = false;
+
+      if (refreshed) {
+        this.changePage(this.pageIndex);
+      }
+    },
+  },
+  mounted: function () {
+    this.changePage(1);
+  },
+  components: {
+    "enterpriseCertificationApprove-detail": EnterpriseCertificationApproveDetail,
+  },
+};
+</script>
+<style lang="scss" scoped>
+.el-breadcrumb {
+  margin: 10px;
+  line-height: 20px;
+}
+
+.el-divider {
+  margin: 5px 0;
+}
+
+.demo-form-inline {
+  margin-left: 10px;
+  text-align: left;
+}
+
+.button-group {
+  margin-left: 10px;
+  text-align: left;
+}
+</style>

+ 240 - 0
src/views/base/labourServices-detail.vue

@@ -0,0 +1,240 @@
+
+<style scoped>
+.user-panel {
+  margin: 10px auto;
+}
+</style>
+<template>
+  <el-dialog
+    :visible.sync="showDialog"
+    :title="title"
+    :modal-append-to-body="false"
+    style="text-align: left"
+    @close="closeDialog"
+    :close-on-click-modal="false"
+  >
+    <div class="user-panel" v-loading="loading">
+      <el-form
+        ref="form"
+        :model="formModel"
+        :rules="ruleValidate"
+        :label-width="'100px'"
+      >
+        <el-form-item label="" prop="id">
+          <el-input
+            v-model="formModel.id"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="类型(我要用工人,我有工人等)" prop="type">
+          <el-input
+            v-model="formModel.type"
+            placeholder="请输入类型(我要用工人,我有工人等)"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="内容" prop="content">
+          <el-input
+            v-model="formModel.content"
+            placeholder="请输入内容"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="状态(上架下架等" prop="status">
+          <el-input
+            v-model="formModel.status"
+            placeholder="请输入状态(上架下架等"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="排序号" prop="sortNo">
+          <el-input
+            v-model="formModel.sortNo"
+            placeholder="请输入排序号"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批状态" prop="approvalStatus">
+          <el-input
+            v-model="formModel.approvalStatus"
+            placeholder="请输入审批状态"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createBy">
+          <el-input
+            v-model="formModel.createBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createTime">
+          <el-input
+            v-model="formModel.createTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateBy">
+          <el-input
+            v-model="formModel.updateBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateTime">
+          <el-input
+            v-model="formModel.updateTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="删除标示" prop="delFlag">
+          <el-input
+            v-model="formModel.delFlag"
+            placeholder="请输入删除标示"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批人" prop="approvePersonId">
+          <el-input
+            v-model="formModel.approvePersonId"
+            placeholder="请输入审批人"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批时间" prop="approveTime">
+          <el-input
+            v-model="formModel.approveTime"
+            placeholder="请输入审批时间"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="closeDialog">取 消</el-button>
+      <el-button type="primary" @click="handleSubmit" :loading="submitting"
+        >确 定</el-button
+      >
+    </span>
+  </el-dialog>
+</template>
+<script>
+import Constant from "@/constant";
+import labourServicesApi from "@/api/base/labourServices";
+
+export default {
+  props: ["businessKey", "title"],
+  data() {
+    return {
+      formModel: {},
+      ruleValidate: {
+        id: [{ required: true, message: "不能为空", trigger: "blur" }],
+        type: [
+          {
+            required: true,
+            message: "类型(我要用工人,我有工人等)不能为空",
+            trigger: "blur",
+          },
+        ],
+        content: [{ required: true, message: "内容不能为空", trigger: "blur" }],
+        status: [
+          {
+            required: true,
+            message: "状态(上架下架等不能为空",
+            trigger: "blur",
+          },
+        ],
+        sortNo: [
+          { required: true, message: "排序号不能为空", trigger: "blur" },
+        ],
+        approvalStatus: [
+          { required: true, message: "审批状态不能为空", trigger: "blur" },
+        ],
+        createBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        delFlag: [
+          { required: true, message: "删除标示不能为空", trigger: "blur" },
+        ],
+        approvePersonId: [
+          { required: true, message: "审批人不能为空", trigger: "blur" },
+        ],
+        approveTime: [
+          { required: true, message: "审批时间不能为空", trigger: "blur" },
+        ],
+      },
+      showDialog: true,
+      loading: false,
+      submitting: false,
+    };
+  },
+  methods: {
+    closeDialog() {
+      this.$emit("close", false);
+    },
+    handleSubmit() {
+      var self = this;
+
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          (function () {
+            var id = self.formModel.id;
+
+            if (id == null || id.length == 0) {
+              return labourServicesApi.add(self.formModel);
+            } else {
+              return labourServicesApi.update(self.formModel);
+            }
+          })().then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              self.$message({
+                message: "保存成功!",
+                type: "success",
+              });
+
+              self.$emit("close", true);
+            } else {
+              self.$message({
+                message: jsonData.message + "",
+                type: "warning",
+              });
+
+              self.$emit("close", false);
+            }
+          });
+        }
+      });
+    },
+  },
+  mounted: function () {
+    var self = this;
+
+    (function () {
+      if (self.businessKey.length == 0) {
+        return labourServicesApi.create();
+      } else {
+        return labourServicesApi.edit(self.businessKey);
+      }
+    })()
+      .then((response) => {
+        var jsonData = response.data;
+        self.loading = false;
+
+        if (jsonData.result) {
+          self.formModel = jsonData.data;
+        } else {
+          self.$message.error(jsonData.message + "");
+        }
+      })
+      .catch((error) => {
+        self.$message.error(error + "");
+      });
+  },
+};
+</script>

+ 433 - 0
src/views/base/labourServices-list.vue

@@ -0,0 +1,433 @@
+<template>
+  <div>
+    <el-breadcrumb separator=">">
+      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="#">系统管理</a>
+      </el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="/labourServices">labourServices管理</a>
+      </el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-divider></el-divider>
+    <!--
+      要resetFields起作用,必须配置:model和prop
+    -->
+    <el-form
+      ref="queryForm"
+      :model="queryModel"
+      inline
+      class="demo-form-inline"
+    >
+      <el-form-item label="" prop="id">
+        <el-input type="text" size="mini" v-model="queryModel.id"></el-input>
+      </el-form-item>
+      <el-form-item label="类型(我要用工人,我有工人等)" prop="type">
+        <el-input type="text" size="mini" v-model="queryModel.type"></el-input>
+      </el-form-item>
+      <el-form-item label="内容" prop="content">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.content"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="状态(上架下架等" prop="status">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.status"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="排序号" prop="sortNo">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.sortNo"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批状态" prop="approvalStatus">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approvalStatus"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="删除标示" prop="delFlag">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.delFlag"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批人" prop="approvePersonId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approvePersonId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批时间" prop="approveTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approveTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          size="mini"
+          icon="ios-search"
+          @click="changePage(1)"
+          :loading="loading"
+          >查询</el-button
+        >&nbsp;
+        <el-button
+          type="info"
+          size="mini"
+          style="margin-left: 8px"
+          @click="handleReset('queryForm')"
+          >重置</el-button
+        >&nbsp;
+      </el-form-item>
+    </el-form>
+    <el-divider></el-divider>
+    <el-row class="button-group">
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        @click="handleAdd"
+        >新增</el-button
+      >
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        :disabled="multipleSelection.length == 0"
+        @click="handleBatchDelete"
+        >删除选中项</el-button
+      >
+    </el-row>
+    <el-table
+      :data="tableData"
+      style="min-height: 400px"
+      v-loading="loading"
+      stripe
+      @sort-change="sortChange"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55"></el-table-column>
+      <el-table-column prop="id" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="type"
+        label="类型(我要用工人,我有工人等)"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="content"
+        label="内容"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="status"
+        label="状态(上架下架等"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="sortNo"
+        label="排序号"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approvalStatus"
+        label="审批状态"
+        width="180"
+      ></el-table-column>
+      <el-table-column prop="createBy" label="" width="180"></el-table-column>
+      <el-table-column prop="createTime" label="" width="180"></el-table-column>
+      <el-table-column prop="updateBy" label="" width="180"></el-table-column>
+      <el-table-column prop="updateTime" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="delFlag"
+        label="删除标示"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approvePersonId"
+        label="审批人"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approveTime"
+        label="审批时间"
+        width="180"
+      ></el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="{ row }">
+          <el-button size="mini" type="warning" @click="handleEdit(row)"
+            >编辑</el-button
+          >
+          <el-button size="mini" type="danger" @click="handleDelete(row)"
+            >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      :current-page.sync="pageIndex"
+      :total="totalElements"
+      :page-sizes="pageSizeList"
+      @current-change="changePage"
+      @size-change="pageSizeChange"
+      layout="total, sizes, prev, pager, next, jumper"
+    ></el-pagination>
+    <labourServices-detail
+      v-if="showModal"
+      :businessKey="businessKey"
+      :title="modalTitle"
+      @close="onDetailModalClose"
+    ></labourServices-detail>
+  </div>
+</template>
+<script>
+import Constant from "@/constant";
+import LabourServicesDetail from "./labourServices-detail";
+import labourServicesApi from "@/api/base/base/labourServices";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
+
+export default {
+  data() {
+    var self = this;
+
+    return {
+      queryModel: {
+        id: "",
+        type: "",
+        content: "",
+        status: "",
+        sortNo: "",
+        approvalStatus: "",
+        createBy: "",
+        createTime: "",
+        updateBy: "",
+        updateTime: "",
+        delFlag: "",
+        approvePersonId: "",
+        approveTime: "",
+      },
+      loading: false,
+      tableData: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPages: 0,
+      totalElements: 0,
+      field: "",
+      direction: "",
+      pageSizeList: [10, 20, 30],
+      multipleSelection: [],
+      showModal: false,
+      modalTitle: "",
+      businessKey: "",
+    };
+  },
+  methods: {
+    changePage(pageIndex) {
+      var self = this;
+
+      self.loading = true;
+
+      self.pageIndex = pageIndex;
+      var formData = new FormData();
+
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
+
+      formData.append("id", self.queryModel.id);
+      formData.append("type", self.queryModel.type);
+      formData.append("content", self.queryModel.content);
+      formData.append("status", self.queryModel.status);
+      formData.append("sortNo", self.queryModel.sortNo);
+      formData.append("approvalStatus", self.queryModel.approvalStatus);
+      formData.append("createBy", self.queryModel.createBy);
+      formData.append("createTime", self.queryModel.createTime);
+      formData.append("updateBy", self.queryModel.updateBy);
+      formData.append("updateTime", self.queryModel.updateTime);
+      formData.append("delFlag", self.queryModel.delFlag);
+      formData.append("approvePersonId", self.queryModel.approvePersonId);
+      formData.append("approveTime", self.queryModel.approveTime);
+
+      if (this.field != null) {
+        formData.append("field", this.field);
+      }
+
+      if (this.direction != null) {
+        formData.append("direction", this.direction);
+      }
+
+      labourServicesApi
+        .pageList(formData)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+
+          self.tableData = jsonData.data;
+          self.totalPages = jsonData.totalPages;
+          self.totalElements = jsonData.recordsTotal;
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
+    pageSizeChange(pageSize) {
+      this.pageSize = pageSize;
+
+      this.$nextTick(() => {
+        this.changePage(this.pageIndex);
+      });
+    },
+    sortChange(data) {
+      this.field = data.column.field;
+      this.direction = data.order;
+
+      this.changePage(this.pageIndex);
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    handleReset(name) {
+      this.$refs[name].resetFields();
+    },
+    handleAdd() {
+      this.modalTitle = "新增";
+      this.businessKey = "";
+      this.showModal = true;
+    },
+    handleEdit(record) {
+      this.modalTitle = "编辑";
+      this.businessKey = record.id;
+      this.showModal = true;
+    },
+    handleDelete(record) {
+      var self = this;
+
+      self
+        .$confirm("是否确认删除?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+        .then(() => {
+          labourServicesApi.remove(record.id).then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              // var index = self.tableData.indexOf(record);
+              // self.tableData.splice(index, 1);
+              self.changePage(self.pageIndex);
+
+              self.$message({
+                type: "success",
+                message: "删除成功!",
+              });
+            }
+          });
+        });
+    },
+    handleBatchDelete() {
+      var self = this;
+
+      var idList = this.multipleSelection.map((record) => {
+        return record.id;
+      });
+
+      this.$confirm("是否确认删除选中项?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        labourServicesApi.batchRemove(idList).then(function (response) {
+          var jsonData = response.data;
+
+          if (jsonData.result) {
+            self.changePage(self.pageIndex);
+
+            self.$message({
+              type: "success",
+              message: "删除成功!",
+            });
+          }
+        });
+      });
+    },
+    onDetailModalClose(refreshed) {
+      //保存成功后回调
+      this.showModal = false;
+
+      if (refreshed) {
+        this.changePage(this.pageIndex);
+      }
+    },
+  },
+  mounted: function () {
+    this.changePage(1);
+  },
+  components: {
+    "labourServices-detail": LabourServicesDetail,
+  },
+};
+</script>
+<style lang="scss" scoped>
+.el-breadcrumb {
+  margin: 10px;
+  line-height: 20px;
+}
+
+.el-divider {
+  margin: 5px 0;
+}
+
+.demo-form-inline {
+  margin-left: 10px;
+  text-align: left;
+}
+
+.button-group {
+  margin-left: 10px;
+  text-align: left;
+}
+</style>

+ 204 - 0
src/views/base/resumeApprove-detail.vue

@@ -0,0 +1,204 @@
+
+<style scoped>
+.user-panel {
+  margin: 10px auto;
+}
+</style>
+<template>
+  <el-dialog
+    :visible.sync="showDialog"
+    :title="title"
+    :modal-append-to-body="false"
+    style="text-align: left"
+    @close="closeDialog"
+    :close-on-click-modal="false"
+  >
+    <div class="user-panel" v-loading="loading">
+      <el-form
+        ref="form"
+        :model="formModel"
+        :rules="ruleValidate"
+        :label-width="'100px'"
+      >
+        <el-form-item label="" prop="id">
+          <el-input
+            v-model="formModel.id"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createBy">
+          <el-input
+            v-model="formModel.createBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createTime">
+          <el-input
+            v-model="formModel.createTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateBy">
+          <el-input
+            v-model="formModel.updateBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateTime">
+          <el-input
+            v-model="formModel.updateTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="删除标示" prop="delFlag">
+          <el-input
+            v-model="formModel.delFlag"
+            placeholder="请输入删除标示"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="用户ID" prop="jobResumeId">
+          <el-input
+            v-model="formModel.jobResumeId"
+            placeholder="请输入用户ID"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批人" prop="approvePersonId">
+          <el-input
+            v-model="formModel.approvePersonId"
+            placeholder="请输入审批人"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批时间" prop="approveTime">
+          <el-input
+            v-model="formModel.approveTime"
+            placeholder="请输入审批时间"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批状态" prop="approvalStatus">
+          <el-input
+            v-model="formModel.approvalStatus"
+            placeholder="请输入审批状态"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="closeDialog">取 消</el-button>
+      <el-button type="primary" @click="handleSubmit" :loading="submitting"
+        >确 定</el-button
+      >
+    </span>
+  </el-dialog>
+</template>
+<script>
+import Constant from "@/constant";
+import resumeApproveApi from "@/api/base/base/resumeApprove";
+
+export default {
+  props: ["businessKey", "title"],
+  data() {
+    return {
+      formModel: {},
+      ruleValidate: {
+        id: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        delFlag: [
+          { required: true, message: "删除标示不能为空", trigger: "blur" },
+        ],
+        jobResumeId: [
+          { required: true, message: "用户ID不能为空", trigger: "blur" },
+        ],
+        approvePersonId: [
+          { required: true, message: "审批人不能为空", trigger: "blur" },
+        ],
+        approveTime: [
+          { required: true, message: "审批时间不能为空", trigger: "blur" },
+        ],
+        approvalStatus: [
+          { required: true, message: "审批状态不能为空", trigger: "blur" },
+        ],
+      },
+      showDialog: true,
+      loading: false,
+      submitting: false,
+    };
+  },
+  methods: {
+    closeDialog() {
+      this.$emit("close", false);
+    },
+    handleSubmit() {
+      var self = this;
+
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          (function () {
+            var id = self.formModel.id;
+
+            if (id == null || id.length == 0) {
+              return resumeApproveApi.add(self.formModel);
+            } else {
+              return resumeApproveApi.update(self.formModel);
+            }
+          })().then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              self.$message({
+                message: "保存成功!",
+                type: "success",
+              });
+
+              self.$emit("close", true);
+            } else {
+              self.$message({
+                message: jsonData.message + "",
+                type: "warning",
+              });
+
+              self.$emit("close", false);
+            }
+          });
+        }
+      });
+    },
+  },
+  mounted: function () {
+    var self = this;
+
+    (function () {
+      if (self.businessKey.length == 0) {
+        return resumeApproveApi.create();
+      } else {
+        return resumeApproveApi.edit(self.businessKey);
+      }
+    })()
+      .then((response) => {
+        var jsonData = response.data;
+        self.loading = false;
+
+        if (jsonData.result) {
+          self.formModel = jsonData.data;
+        } else {
+          self.$message.error(jsonData.message + "");
+        }
+      })
+      .catch((error) => {
+        self.$message.error(error + "");
+      });
+  },
+};
+</script>

+ 395 - 0
src/views/base/resumeApprove-list.vue

@@ -0,0 +1,395 @@
+<template>
+  <div>
+    <el-breadcrumb separator=">">
+      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="#">系统管理</a>
+      </el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="/resumeApprove">resumeApprove管理</a>
+      </el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-divider></el-divider>
+    <!--
+      要resetFields起作用,必须配置:model和prop
+    -->
+    <el-form
+      ref="queryForm"
+      :model="queryModel"
+      inline
+      class="demo-form-inline"
+    >
+      <el-form-item label="" prop="id">
+        <el-input type="text" size="mini" v-model="queryModel.id"></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="删除标示" prop="delFlag">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.delFlag"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="用户ID" prop="jobResumeId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.jobResumeId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批人" prop="approvePersonId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approvePersonId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批时间" prop="approveTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approveTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批状态" prop="approvalStatus">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approvalStatus"
+        ></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          size="mini"
+          icon="ios-search"
+          @click="changePage(1)"
+          :loading="loading"
+          >查询</el-button
+        >&nbsp;
+        <el-button
+          type="info"
+          size="mini"
+          style="margin-left: 8px"
+          @click="handleReset('queryForm')"
+          >重置</el-button
+        >&nbsp;
+      </el-form-item>
+    </el-form>
+    <el-divider></el-divider>
+    <el-row class="button-group">
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        @click="handleAdd"
+        >新增</el-button
+      >
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        :disabled="multipleSelection.length == 0"
+        @click="handleBatchDelete"
+        >删除选中项</el-button
+      >
+    </el-row>
+    <el-table
+      :data="tableData"
+      style="min-height: 400px"
+      v-loading="loading"
+      stripe
+      @sort-change="sortChange"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55"></el-table-column>
+      <el-table-column prop="id" label="" width="180"></el-table-column>
+      <el-table-column prop="createBy" label="" width="180"></el-table-column>
+      <el-table-column prop="createTime" label="" width="180"></el-table-column>
+      <el-table-column prop="updateBy" label="" width="180"></el-table-column>
+      <el-table-column prop="updateTime" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="delFlag"
+        label="删除标示"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="jobResumeId"
+        label="用户ID"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approvePersonId"
+        label="审批人"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approveTime"
+        label="审批时间"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approvalStatus"
+        label="审批状态"
+        width="180"
+      ></el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="{ row }">
+          <el-button size="mini" type="warning" @click="handleEdit(row)"
+            >编辑</el-button
+          >
+          <el-button size="mini" type="danger" @click="handleDelete(row)"
+            >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      :current-page.sync="pageIndex"
+      :total="totalElements"
+      :page-sizes="pageSizeList"
+      @current-change="changePage"
+      @size-change="pageSizeChange"
+      layout="total, sizes, prev, pager, next, jumper"
+    ></el-pagination>
+    <resumeApprove-detail
+      v-if="showModal"
+      :businessKey="businessKey"
+      :title="modalTitle"
+      @close="onDetailModalClose"
+    ></resumeApprove-detail>
+  </div>
+</template>
+<script>
+import Constant from "@/constant";
+import ResumeApproveDetail from "./resumeApprove-detail";
+import resumeApproveApi from "@/api/base/base/resumeApprove";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
+
+export default {
+  data() {
+    var self = this;
+
+    return {
+      queryModel: {
+        id: "",
+        createBy: "",
+        createTime: "",
+        updateBy: "",
+        updateTime: "",
+        delFlag: "",
+        jobResumeId: "",
+        approvePersonId: "",
+        approveTime: "",
+        approvalStatus: "",
+      },
+      loading: false,
+      tableData: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPages: 0,
+      totalElements: 0,
+      field: "",
+      direction: "",
+      pageSizeList: [10, 20, 30],
+      multipleSelection: [],
+      showModal: false,
+      modalTitle: "",
+      businessKey: "",
+    };
+  },
+  methods: {
+    changePage(pageIndex) {
+      var self = this;
+
+      self.loading = true;
+
+      self.pageIndex = pageIndex;
+      var formData = new FormData();
+
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
+
+      formData.append("id", self.queryModel.id);
+      formData.append("createBy", self.queryModel.createBy);
+      formData.append("createTime", self.queryModel.createTime);
+      formData.append("updateBy", self.queryModel.updateBy);
+      formData.append("updateTime", self.queryModel.updateTime);
+      formData.append("delFlag", self.queryModel.delFlag);
+      formData.append("jobResumeId", self.queryModel.jobResumeId);
+      formData.append("approvePersonId", self.queryModel.approvePersonId);
+      formData.append("approveTime", self.queryModel.approveTime);
+      formData.append("approvalStatus", self.queryModel.approvalStatus);
+
+      if (this.field != null) {
+        formData.append("field", this.field);
+      }
+
+      if (this.direction != null) {
+        formData.append("direction", this.direction);
+      }
+
+      resumeApproveApi
+        .pageList(formData)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+
+          self.tableData = jsonData.data;
+          self.totalPages = jsonData.totalPages;
+          self.totalElements = jsonData.recordsTotal;
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
+    pageSizeChange(pageSize) {
+      this.pageSize = pageSize;
+
+      this.$nextTick(() => {
+        this.changePage(this.pageIndex);
+      });
+    },
+    sortChange(data) {
+      this.field = data.column.field;
+      this.direction = data.order;
+
+      this.changePage(this.pageIndex);
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    handleReset(name) {
+      this.$refs[name].resetFields();
+    },
+    handleAdd() {
+      this.modalTitle = "新增";
+      this.businessKey = "";
+      this.showModal = true;
+    },
+    handleEdit(record) {
+      this.modalTitle = "编辑";
+      this.businessKey = record.id;
+      this.showModal = true;
+    },
+    handleDelete(record) {
+      var self = this;
+
+      self
+        .$confirm("是否确认删除?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+        .then(() => {
+          resumeApproveApi.remove(record.id).then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              // var index = self.tableData.indexOf(record);
+              // self.tableData.splice(index, 1);
+              self.changePage(self.pageIndex);
+
+              self.$message({
+                type: "success",
+                message: "删除成功!",
+              });
+            }
+          });
+        });
+    },
+    handleBatchDelete() {
+      var self = this;
+
+      var idList = this.multipleSelection.map((record) => {
+        return record.id;
+      });
+
+      this.$confirm("是否确认删除选中项?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        resumeApproveApi.batchRemove(idList).then(function (response) {
+          var jsonData = response.data;
+
+          if (jsonData.result) {
+            self.changePage(self.pageIndex);
+
+            self.$message({
+              type: "success",
+              message: "删除成功!",
+            });
+          }
+        });
+      });
+    },
+    onDetailModalClose(refreshed) {
+      //保存成功后回调
+      this.showModal = false;
+
+      if (refreshed) {
+        this.changePage(this.pageIndex);
+      }
+    },
+  },
+  mounted: function () {
+    this.changePage(1);
+  },
+  components: {
+    "resumeApprove-detail": ResumeApproveDetail,
+  },
+};
+</script>
+<style lang="scss" scoped>
+.el-breadcrumb {
+  margin: 10px;
+  line-height: 20px;
+}
+
+.el-divider {
+  margin: 5px 0;
+}
+
+.demo-form-inline {
+  margin-left: 10px;
+  text-align: left;
+}
+
+.button-group {
+  margin-left: 10px;
+  text-align: left;
+}
+</style>

+ 232 - 0
src/views/base/serviceApprove-detail.vue

@@ -0,0 +1,232 @@
+
+<style scoped>
+.user-panel {
+  margin: 10px auto;
+}
+</style>
+<template>
+  <el-dialog
+    :visible.sync="showDialog"
+    :title="title"
+    :modal-append-to-body="false"
+    style="text-align: left"
+    @close="closeDialog"
+    :close-on-click-modal="false"
+  >
+    <div class="user-panel" v-loading="loading">
+      <el-form
+        ref="form"
+        :model="formModel"
+        :rules="ruleValidate"
+        :label-width="'100px'"
+      >
+        <el-form-item label="" prop="id">
+          <el-input
+            v-model="formModel.id"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="所在审批表的ID" prop="serviceId">
+          <el-input
+            v-model="formModel.serviceId"
+            placeholder="请输入所在审批表的ID"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="类型(招聘信息审核,企业认证,用户认证等" prop="type">
+          <el-input
+            v-model="formModel.type"
+            placeholder="请输入类型(招聘信息审核,企业认证,用户认证等"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审核状态" prop="approveStatus">
+          <el-input
+            v-model="formModel.approveStatus"
+            placeholder="请输入审核状态"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="所属企业" prop="companyId">
+          <el-input
+            v-model="formModel.companyId"
+            placeholder="请输入所属企业"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批人" prop="approvePersonId">
+          <el-input
+            v-model="formModel.approvePersonId"
+            placeholder="请输入审批人"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批时间" prop="approveTime">
+          <el-input
+            v-model="formModel.approveTime"
+            placeholder="请输入审批时间"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createBy">
+          <el-input
+            v-model="formModel.createBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createTime">
+          <el-input
+            v-model="formModel.createTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateBy">
+          <el-input
+            v-model="formModel.updateBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateTime">
+          <el-input
+            v-model="formModel.updateTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="删除标示" prop="delFlag">
+          <el-input
+            v-model="formModel.delFlag"
+            placeholder="请输入删除标示"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="closeDialog">取 消</el-button>
+      <el-button type="primary" @click="handleSubmit" :loading="submitting"
+        >确 定</el-button
+      >
+    </span>
+  </el-dialog>
+</template>
+<script>
+import Constant from "@/constant";
+import serviceApproveApi from "@/api/base/serviceApprove";
+
+export default {
+  props: ["businessKey", "title"],
+  data() {
+    return {
+      formModel: {},
+      ruleValidate: {
+        id: [{ required: true, message: "不能为空", trigger: "blur" }],
+        serviceId: [
+          {
+            required: true,
+            message: "所在审批表的ID不能为空",
+            trigger: "blur",
+          },
+        ],
+        type: [
+          {
+            required: true,
+            message: "类型(招聘信息审核,企业认证,用户认证等不能为空",
+            trigger: "blur",
+          },
+        ],
+        approveStatus: [
+          { required: true, message: "审核状态不能为空", trigger: "blur" },
+        ],
+        companyId: [
+          { required: true, message: "所属企业不能为空", trigger: "blur" },
+        ],
+        approvePersonId: [
+          { required: true, message: "审批人不能为空", trigger: "blur" },
+        ],
+        approveTime: [
+          { required: true, message: "审批时间不能为空", trigger: "blur" },
+        ],
+        createBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        delFlag: [
+          { required: true, message: "删除标示不能为空", trigger: "blur" },
+        ],
+      },
+      showDialog: true,
+      loading: false,
+      submitting: false,
+    };
+  },
+  methods: {
+    closeDialog() {
+      this.$emit("close", false);
+    },
+    handleSubmit() {
+      var self = this;
+
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          (function () {
+            var id = self.formModel.id;
+
+            if (id == null || id.length == 0) {
+              return serviceApproveApi.add(self.formModel);
+            } else {
+              return serviceApproveApi.update(self.formModel);
+            }
+          })().then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              self.$message({
+                message: "保存成功!",
+                type: "success",
+              });
+
+              self.$emit("close", true);
+            } else {
+              self.$message({
+                message: jsonData.message + "",
+                type: "warning",
+              });
+
+              self.$emit("close", false);
+            }
+          });
+        }
+      });
+    },
+  },
+  mounted: function () {
+    var self = this;
+
+    (function () {
+      if (self.businessKey.length == 0) {
+        return serviceApproveApi.create();
+      } else {
+        return serviceApproveApi.edit(self.businessKey);
+      }
+    })()
+      .then((response) => {
+        var jsonData = response.data;
+        self.loading = false;
+
+        if (jsonData.result) {
+          self.formModel = jsonData.data;
+        } else {
+          self.$message.error(jsonData.message + "");
+        }
+      })
+      .catch((error) => {
+        self.$message.error(error + "");
+      });
+  },
+};
+</script>

+ 419 - 0
src/views/base/serviceApprove-list.vue

@@ -0,0 +1,419 @@
+<template>
+  <div>
+    <el-breadcrumb separator=">">
+      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="#">系统管理</a>
+      </el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="/serviceApprove">serviceApprove管理</a>
+      </el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-divider></el-divider>
+    <!--
+      要resetFields起作用,必须配置:model和prop
+    -->
+    <el-form
+      ref="queryForm"
+      :model="queryModel"
+      inline
+      class="demo-form-inline"
+    >
+      <el-form-item label="" prop="id">
+        <el-input type="text" size="mini" v-model="queryModel.id"></el-input>
+      </el-form-item>
+      <el-form-item label="所在审批表的ID" prop="serviceId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.serviceId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="类型(招聘信息审核,企业认证,用户认证等" prop="type">
+        <el-input type="text" size="mini" v-model="queryModel.type"></el-input>
+      </el-form-item>
+      <el-form-item label="审核状态" prop="approveStatus">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approveStatus"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="所属企业" prop="companyId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.companyId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批人" prop="approvePersonId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approvePersonId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批时间" prop="approveTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approveTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="删除标示" prop="delFlag">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.delFlag"
+        ></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          size="mini"
+          icon="ios-search"
+          @click="changePage(1)"
+          :loading="loading"
+          >查询</el-button
+        >&nbsp;
+        <el-button
+          type="info"
+          size="mini"
+          style="margin-left: 8px"
+          @click="handleReset('queryForm')"
+          >重置</el-button
+        >&nbsp;
+      </el-form-item>
+    </el-form>
+    <el-divider></el-divider>
+    <el-row class="button-group">
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        @click="handleAdd"
+        >新增</el-button
+      >
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        :disabled="multipleSelection.length == 0"
+        @click="handleBatchDelete"
+        >删除选中项</el-button
+      >
+    </el-row>
+    <el-table
+      :data="tableData"
+      style="min-height: 400px"
+      v-loading="loading"
+      stripe
+      @sort-change="sortChange"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55"></el-table-column>
+      <el-table-column prop="id" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="serviceId"
+        label="所在审批表的ID"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="type"
+        label="类型(招聘信息审核,企业认证,用户认证等"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approveStatus"
+        label="审核状态"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="companyId"
+        label="所属企业"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approvePersonId"
+        label="审批人"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approveTime"
+        label="审批时间"
+        width="180"
+      ></el-table-column>
+      <el-table-column prop="createBy" label="" width="180"></el-table-column>
+      <el-table-column prop="createTime" label="" width="180"></el-table-column>
+      <el-table-column prop="updateBy" label="" width="180"></el-table-column>
+      <el-table-column prop="updateTime" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="delFlag"
+        label="删除标示"
+        width="180"
+      ></el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="{ row }">
+          <el-button size="mini" type="warning" @click="handleEdit(row)"
+            >编辑</el-button
+          >
+          <el-button size="mini" type="danger" @click="handleDelete(row)"
+            >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      :current-page.sync="pageIndex"
+      :total="totalElements"
+      :page-sizes="pageSizeList"
+      @current-change="changePage"
+      @size-change="pageSizeChange"
+      layout="total, sizes, prev, pager, next, jumper"
+    ></el-pagination>
+    <serviceApprove-detail
+      v-if="showModal"
+      :businessKey="businessKey"
+      :title="modalTitle"
+      @close="onDetailModalClose"
+    ></serviceApprove-detail>
+  </div>
+</template>
+<script>
+import Constant from "@/constant";
+import ServiceApproveDetail from "./serviceApprove-detail";
+import serviceApproveApi from "@/api/base/serviceApprove";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
+
+export default {
+  data() {
+    var self = this;
+
+    return {
+      queryModel: {
+        id: "",
+        serviceId: "",
+        type: "",
+        approveStatus: "",
+        companyId: "",
+        approvePersonId: "",
+        approveTime: "",
+        createBy: "",
+        createTime: "",
+        updateBy: "",
+        updateTime: "",
+        delFlag: "",
+      },
+      loading: false,
+      tableData: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPages: 0,
+      totalElements: 0,
+      field: "",
+      direction: "",
+      pageSizeList: [10, 20, 30],
+      multipleSelection: [],
+      showModal: false,
+      modalTitle: "",
+      businessKey: "",
+    };
+  },
+  methods: {
+    changePage(pageIndex) {
+      var self = this;
+
+      self.loading = true;
+
+      self.pageIndex = pageIndex;
+      var formData = new FormData();
+
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
+
+      formData.append("id", self.queryModel.id);
+      formData.append("serviceId", self.queryModel.serviceId);
+      formData.append("type", self.queryModel.type);
+      formData.append("approveStatus", self.queryModel.approveStatus);
+      formData.append("companyId", self.queryModel.companyId);
+      formData.append("approvePersonId", self.queryModel.approvePersonId);
+      formData.append("approveTime", self.queryModel.approveTime);
+      formData.append("createBy", self.queryModel.createBy);
+      formData.append("createTime", self.queryModel.createTime);
+      formData.append("updateBy", self.queryModel.updateBy);
+      formData.append("updateTime", self.queryModel.updateTime);
+      formData.append("delFlag", self.queryModel.delFlag);
+
+      if (this.field != null) {
+        formData.append("field", this.field);
+      }
+
+      if (this.direction != null) {
+        formData.append("direction", this.direction);
+      }
+
+      serviceApproveApi
+        .pageList(formData)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+
+          self.tableData = jsonData.data;
+          self.totalPages = jsonData.totalPages;
+          self.totalElements = jsonData.recordsTotal;
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
+    pageSizeChange(pageSize) {
+      this.pageSize = pageSize;
+
+      this.$nextTick(() => {
+        this.changePage(this.pageIndex);
+      });
+    },
+    sortChange(data) {
+      this.field = data.column.field;
+      this.direction = data.order;
+
+      this.changePage(this.pageIndex);
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    handleReset(name) {
+      this.$refs[name].resetFields();
+    },
+    handleAdd() {
+      this.modalTitle = "新增";
+      this.businessKey = "";
+      this.showModal = true;
+    },
+    handleEdit(record) {
+      this.modalTitle = "编辑";
+      this.businessKey = record.id;
+      this.showModal = true;
+    },
+    handleDelete(record) {
+      var self = this;
+
+      self
+        .$confirm("是否确认删除?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+        .then(() => {
+          serviceApproveApi.remove(record.id).then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              // var index = self.tableData.indexOf(record);
+              // self.tableData.splice(index, 1);
+              self.changePage(self.pageIndex);
+
+              self.$message({
+                type: "success",
+                message: "删除成功!",
+              });
+            }
+          });
+        });
+    },
+    handleBatchDelete() {
+      var self = this;
+
+      var idList = this.multipleSelection.map((record) => {
+        return record.id;
+      });
+
+      this.$confirm("是否确认删除选中项?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        serviceApproveApi.batchRemove(idList).then(function (response) {
+          var jsonData = response.data;
+
+          if (jsonData.result) {
+            self.changePage(self.pageIndex);
+
+            self.$message({
+              type: "success",
+              message: "删除成功!",
+            });
+          }
+        });
+      });
+    },
+    onDetailModalClose(refreshed) {
+      //保存成功后回调
+      this.showModal = false;
+
+      if (refreshed) {
+        this.changePage(this.pageIndex);
+      }
+    },
+  },
+  mounted: function () {
+    this.changePage(1);
+  },
+  components: {
+    "serviceApprove-detail": ServiceApproveDetail,
+  },
+};
+</script>
+<style lang="scss" scoped>
+.el-breadcrumb {
+  margin: 10px;
+  line-height: 20px;
+}
+
+.el-divider {
+  margin: 5px 0;
+}
+
+.demo-form-inline {
+  margin-left: 10px;
+  text-align: left;
+}
+
+.button-group {
+  margin-left: 10px;
+  text-align: left;
+}
+</style>

+ 204 - 0
src/views/base/userAuthenticationApprove-detail.vue

@@ -0,0 +1,204 @@
+
+<style scoped>
+.user-panel {
+  margin: 10px auto;
+}
+</style>
+<template>
+  <el-dialog
+    :visible.sync="showDialog"
+    :title="title"
+    :modal-append-to-body="false"
+    style="text-align: left"
+    @close="closeDialog"
+    :close-on-click-modal="false"
+  >
+    <div class="user-panel" v-loading="loading">
+      <el-form
+        ref="form"
+        :model="formModel"
+        :rules="ruleValidate"
+        :label-width="'100px'"
+      >
+        <el-form-item label="" prop="id">
+          <el-input
+            v-model="formModel.id"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createBy">
+          <el-input
+            v-model="formModel.createBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="createTime">
+          <el-input
+            v-model="formModel.createTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateBy">
+          <el-input
+            v-model="formModel.updateBy"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="updateTime">
+          <el-input
+            v-model="formModel.updateTime"
+            placeholder="请输入"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="删除标示" prop="delFlag">
+          <el-input
+            v-model="formModel.delFlag"
+            placeholder="请输入删除标示"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="用户ID" prop="jobUserId">
+          <el-input
+            v-model="formModel.jobUserId"
+            placeholder="请输入用户ID"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批人" prop="approvePersonId">
+          <el-input
+            v-model="formModel.approvePersonId"
+            placeholder="请输入审批人"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批时间" prop="approveTime">
+          <el-input
+            v-model="formModel.approveTime"
+            placeholder="请输入审批时间"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="审批状态" prop="approvalStatus">
+          <el-input
+            v-model="formModel.approvalStatus"
+            placeholder="请输入审批状态"
+            style="width: 300px"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="closeDialog">取 消</el-button>
+      <el-button type="primary" @click="handleSubmit" :loading="submitting"
+        >确 定</el-button
+      >
+    </span>
+  </el-dialog>
+</template>
+<script>
+import Constant from "@/constant";
+import userAuthenticationApproveApi from "@/api/base/userAuthenticationApprove";
+
+export default {
+  props: ["businessKey", "title"],
+  data() {
+    return {
+      formModel: {},
+      ruleValidate: {
+        id: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        createTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateBy: [{ required: true, message: "不能为空", trigger: "blur" }],
+        updateTime: [{ required: true, message: "不能为空", trigger: "blur" }],
+        delFlag: [
+          { required: true, message: "删除标示不能为空", trigger: "blur" },
+        ],
+        jobUserId: [
+          { required: true, message: "用户ID不能为空", trigger: "blur" },
+        ],
+        approvePersonId: [
+          { required: true, message: "审批人不能为空", trigger: "blur" },
+        ],
+        approveTime: [
+          { required: true, message: "审批时间不能为空", trigger: "blur" },
+        ],
+        approvalStatus: [
+          { required: true, message: "审批状态不能为空", trigger: "blur" },
+        ],
+      },
+      showDialog: true,
+      loading: false,
+      submitting: false,
+    };
+  },
+  methods: {
+    closeDialog() {
+      this.$emit("close", false);
+    },
+    handleSubmit() {
+      var self = this;
+
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          (function () {
+            var id = self.formModel.id;
+
+            if (id == null || id.length == 0) {
+              return userAuthenticationApproveApi.add(self.formModel);
+            } else {
+              return userAuthenticationApproveApi.update(self.formModel);
+            }
+          })().then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              self.$message({
+                message: "保存成功!",
+                type: "success",
+              });
+
+              self.$emit("close", true);
+            } else {
+              self.$message({
+                message: jsonData.message + "",
+                type: "warning",
+              });
+
+              self.$emit("close", false);
+            }
+          });
+        }
+      });
+    },
+  },
+  mounted: function () {
+    var self = this;
+
+    (function () {
+      if (self.businessKey.length == 0) {
+        return userAuthenticationApproveApi.create();
+      } else {
+        return userAuthenticationApproveApi.edit(self.businessKey);
+      }
+    })()
+      .then((response) => {
+        var jsonData = response.data;
+        self.loading = false;
+
+        if (jsonData.result) {
+          self.formModel = jsonData.data;
+        } else {
+          self.$message.error(jsonData.message + "");
+        }
+      })
+      .catch((error) => {
+        self.$message.error(error + "");
+      });
+  },
+};
+</script>

+ 399 - 0
src/views/base/userAuthenticationApprove-list.vue

@@ -0,0 +1,399 @@
+<template>
+  <div>
+    <el-breadcrumb separator=">">
+      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="#">系统管理</a>
+      </el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="/userAuthenticationApprove">userAuthenticationApprove管理</a>
+      </el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-divider></el-divider>
+    <!--
+      要resetFields起作用,必须配置:model和prop
+    -->
+    <el-form
+      ref="queryForm"
+      :model="queryModel"
+      inline
+      class="demo-form-inline"
+    >
+      <el-form-item label="" prop="id">
+        <el-input type="text" size="mini" v-model="queryModel.id"></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="createTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.createTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateBy">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateBy"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="" prop="updateTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.updateTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="删除标示" prop="delFlag">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.delFlag"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="用户ID" prop="jobUserId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.jobUserId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批人" prop="approvePersonId">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approvePersonId"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批时间" prop="approveTime">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approveTime"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="审批状态" prop="approvalStatus">
+        <el-input
+          type="text"
+          size="mini"
+          v-model="queryModel.approvalStatus"
+        ></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          size="mini"
+          icon="ios-search"
+          @click="changePage(1)"
+          :loading="loading"
+          >查询</el-button
+        >&nbsp;
+        <el-button
+          type="info"
+          size="mini"
+          style="margin-left: 8px"
+          @click="handleReset('queryForm')"
+          >重置</el-button
+        >&nbsp;
+      </el-form-item>
+    </el-form>
+    <el-divider></el-divider>
+    <el-row class="button-group">
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        @click="handleAdd"
+        >新增</el-button
+      >
+      <el-button
+        type="primary"
+        size="small"
+        plain
+        icon="el-icon-circle-plus"
+        :disabled="multipleSelection.length == 0"
+        @click="handleBatchDelete"
+        >删除选中项</el-button
+      >
+    </el-row>
+    <el-table
+      :data="tableData"
+      style="min-height: 400px"
+      v-loading="loading"
+      stripe
+      @sort-change="sortChange"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55"></el-table-column>
+      <el-table-column prop="id" label="" width="180"></el-table-column>
+      <el-table-column prop="createBy" label="" width="180"></el-table-column>
+      <el-table-column prop="createTime" label="" width="180"></el-table-column>
+      <el-table-column prop="updateBy" label="" width="180"></el-table-column>
+      <el-table-column prop="updateTime" label="" width="180"></el-table-column>
+      <el-table-column
+        prop="delFlag"
+        label="删除标示"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="jobUserId"
+        label="用户ID"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approvePersonId"
+        label="审批人"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approveTime"
+        label="审批时间"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="approvalStatus"
+        label="审批状态"
+        width="180"
+      ></el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="{ row }">
+          <el-button size="mini" type="warning" @click="handleEdit(row)"
+            >编辑</el-button
+          >
+          <el-button size="mini" type="danger" @click="handleDelete(row)"
+            >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      :current-page.sync="pageIndex"
+      :total="totalElements"
+      :page-sizes="pageSizeList"
+      @current-change="changePage"
+      @size-change="pageSizeChange"
+      layout="total, sizes, prev, pager, next, jumper"
+    ></el-pagination>
+    <userAuthenticationApprove-detail
+      v-if="showModal"
+      :businessKey="businessKey"
+      :title="modalTitle"
+      @close="onDetailModalClose"
+    ></userAuthenticationApprove-detail>
+  </div>
+</template>
+<script>
+import Constant from "@/constant";
+import UserAuthenticationApproveDetail from "./userAuthenticationApprove-detail";
+import userAuthenticationApproveApi from "@/api/base/userAuthenticationApprove";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
+
+export default {
+  data() {
+    var self = this;
+
+    return {
+      queryModel: {
+        id: "",
+        createBy: "",
+        createTime: "",
+        updateBy: "",
+        updateTime: "",
+        delFlag: "",
+        jobUserId: "",
+        approvePersonId: "",
+        approveTime: "",
+        approvalStatus: "",
+      },
+      loading: false,
+      tableData: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPages: 0,
+      totalElements: 0,
+      field: "",
+      direction: "",
+      pageSizeList: [10, 20, 30],
+      multipleSelection: [],
+      showModal: false,
+      modalTitle: "",
+      businessKey: "",
+    };
+  },
+  methods: {
+    changePage(pageIndex) {
+      var self = this;
+
+      self.loading = true;
+
+      self.pageIndex = pageIndex;
+      var formData = new FormData();
+
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
+
+      formData.append("id", self.queryModel.id);
+      formData.append("createBy", self.queryModel.createBy);
+      formData.append("createTime", self.queryModel.createTime);
+      formData.append("updateBy", self.queryModel.updateBy);
+      formData.append("updateTime", self.queryModel.updateTime);
+      formData.append("delFlag", self.queryModel.delFlag);
+      formData.append("jobUserId", self.queryModel.jobUserId);
+      formData.append("approvePersonId", self.queryModel.approvePersonId);
+      formData.append("approveTime", self.queryModel.approveTime);
+      formData.append("approvalStatus", self.queryModel.approvalStatus);
+
+      if (this.field != null) {
+        formData.append("field", this.field);
+      }
+
+      if (this.direction != null) {
+        formData.append("direction", this.direction);
+      }
+
+      userAuthenticationApproveApi
+        .pageList(formData)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+
+          self.tableData = jsonData.data;
+          self.totalPages = jsonData.totalPages;
+          self.totalElements = jsonData.recordsTotal;
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
+    pageSizeChange(pageSize) {
+      this.pageSize = pageSize;
+
+      this.$nextTick(() => {
+        this.changePage(this.pageIndex);
+      });
+    },
+    sortChange(data) {
+      this.field = data.column.field;
+      this.direction = data.order;
+
+      this.changePage(this.pageIndex);
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    handleReset(name) {
+      this.$refs[name].resetFields();
+    },
+    handleAdd() {
+      this.modalTitle = "新增";
+      this.businessKey = "";
+      this.showModal = true;
+    },
+    handleEdit(record) {
+      this.modalTitle = "编辑";
+      this.businessKey = record.id;
+      this.showModal = true;
+    },
+    handleDelete(record) {
+      var self = this;
+
+      self
+        .$confirm("是否确认删除?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+        .then(() => {
+          userAuthenticationApproveApi
+            .remove(record.id)
+            .then(function (response) {
+              var jsonData = response.data;
+
+              if (jsonData.result) {
+                // var index = self.tableData.indexOf(record);
+                // self.tableData.splice(index, 1);
+                self.changePage(self.pageIndex);
+
+                self.$message({
+                  type: "success",
+                  message: "删除成功!",
+                });
+              }
+            });
+        });
+    },
+    handleBatchDelete() {
+      var self = this;
+
+      var idList = this.multipleSelection.map((record) => {
+        return record.id;
+      });
+
+      this.$confirm("是否确认删除选中项?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        userAuthenticationApproveApi
+          .batchRemove(idList)
+          .then(function (response) {
+            var jsonData = response.data;
+
+            if (jsonData.result) {
+              self.changePage(self.pageIndex);
+
+              self.$message({
+                type: "success",
+                message: "删除成功!",
+              });
+            }
+          });
+      });
+    },
+    onDetailModalClose(refreshed) {
+      //保存成功后回调
+      this.showModal = false;
+
+      if (refreshed) {
+        this.changePage(this.pageIndex);
+      }
+    },
+  },
+  mounted: function () {
+    this.changePage(1);
+  },
+  components: {
+    "userAuthenticationApprove-detail": UserAuthenticationApproveDetail,
+  },
+};
+</script>
+<style lang="scss" scoped>
+.el-breadcrumb {
+  margin: 10px;
+  line-height: 20px;
+}
+
+.el-divider {
+  margin: 5px 0;
+}
+
+.demo-form-inline {
+  margin-left: 10px;
+  text-align: left;
+}
+
+.button-group {
+  margin-left: 10px;
+  text-align: left;
+}
+</style>

+ 1 - 1
yarn.lock

@@ -6794,7 +6794,7 @@ q@^1.1.2:
   resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
   integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
 
-qrcodejs2@^0.0.2:
+qrcodejs2@0.0.2:
   version "0.0.2"
   resolved "https://registry.yarnpkg.com/qrcodejs2/-/qrcodejs2-0.0.2.tgz#465afe5e39f19facecb932c11f7a186109146ae1"
   integrity sha1-Rlr+Xjnxn6zsuTLBH3oYYQkUauE=