lsw 10 ヶ月 前
コミット
3aa0fb35a1

+ 113 - 0
admin-ui/src/views/work/enterprise/edit.vue

@@ -0,0 +1,113 @@
+<template>
+  <div class="cmain">
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-form-item label="公司名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入公司名称" clearable/>
+        </el-form-item>
+        <el-form-item label="电话" prop="phone">
+          <el-input v-model="form.phone" placeholder="请输入电话" clearable/>
+        </el-form-item>
+        <el-form-item label="法定代表人" prop="legalPerson">
+          <el-input v-model="form.legalPerson" placeholder="请输入法定代表人" clearable/>
+        </el-form-item>
+        <el-form-item label="邮箱" prop="email">
+          <el-input v-model="form.email" placeholder="请输入邮箱" clearable/>
+        </el-form-item>
+        <el-form-item label="注册资本" prop="capital">
+          <el-input v-model="form.capital" placeholder="请输入注册资本" clearable/>
+        </el-form-item>
+        <el-form-item label="成立日期" prop="createDate">
+          <el-input v-model="form.createDate" placeholder="请输入成立日期" clearable/>
+        </el-form-item>
+        <el-form-item label="地址" prop="address">
+          <el-input v-model="form.address" placeholder="请输入地址" clearable/>
+        </el-form-item>
+        <el-form-item label="简介" prop="contents">
+          <el-input v-model="form.contents" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="营业执照" prop="p1">
+          <el-input v-model="form.p1" placeholder="请输入营业执照" clearable/>
+        </el-form-item>
+        <el-form-item label="认证不通过原因" prop="msg">
+          <el-input v-model="form.msg" placeholder="请输入认证不通过原因" clearable/>
+        </el-form-item>
+        <el-form-item label="认证  0未认证 1已认证  2认证不通过" prop="state">
+          <el-input v-model="form.state" placeholder="请输入认证  0未认证 1已认证  2认证不通过" clearable/>
+        </el-form-item>
+        <el-form-item label="创建时间" prop="createTime">
+          <el-date-picker clearable
+            v-model="form.createTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择创建时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="更新时间" prop="updateTime">
+          <el-date-picker clearable
+            v-model="form.updateTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择更新时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="企业logo" prop="logo">
+          <el-input v-model="form.logo" placeholder="请输入企业logo" clearable/>
+        </el-form-item>
+      </el-form>
+    <div class="mfooter">
+      <el-button type="primary" @click="submitForm">确 定</el-button>
+      <el-button @click="$layer.close(layerid)">取 消</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      form: {},
+      rules: {
+      }
+    };
+  },
+  props: {
+    param: {
+      type: Object,
+      default: () => {
+        return {};
+      }
+    },
+    layerid: {
+      type: String
+    }
+  },
+  mounted() {
+    if (this.param.id) {
+      this.ajax({ url: '/work/enterprise/detail/' + this.param.id }).then(response => {
+        this.form = response.data;
+      });
+    }
+  },
+  methods: {
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id) {
+              this.ajax({method: 'post',url: '/work/enterprise/edit', data: this.form }).then(response => {
+                  this.$modal.msgSuccess("修改成功");
+                  this.$layer.close(this.layerid);
+                  this.$parent.getList();
+              });
+          } else {
+              this.ajax({method: 'post',url: '/work/enterprise/add', data: this.form }).then(response => {
+                  this.$modal.msgSuccess("新增成功");
+                  this.$layer.close(this.layerid);
+                  this.$parent.getList();
+               });
+          }
+        }
+      });
+    }
+  }
+};
+</script>

+ 146 - 0
admin-ui/src/views/work/enterprise/index.vue

@@ -0,0 +1,146 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" @submit.native.prevent v-show="showSearch">
+      <el-form-item label="公司名称" prop="name">
+        <el-input v-model="queryParams.name" placeholder="请输入公司名称"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="电话" prop="phone">
+        <el-input v-model="queryParams.phone" placeholder="请输入电话"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="法定代表人" prop="legalPerson">
+        <el-input v-model="queryParams.legalPerson" placeholder="请输入法定代表人"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="邮箱" prop="email">
+        <el-input v-model="queryParams.email" placeholder="请输入邮箱"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="注册资本" prop="capital">
+        <el-input v-model="queryParams.capital" placeholder="请输入注册资本"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="成立日期" prop="createDate">
+        <el-input v-model="queryParams.createDate" placeholder="请输入成立日期"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="地址" prop="address">
+        <el-input v-model="queryParams.address" placeholder="请输入地址"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="营业执照" prop="p1">
+        <el-input v-model="queryParams.p1" placeholder="请输入营业执照"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="认证不通过原因" prop="msg">
+        <el-input v-model="queryParams.msg" placeholder="请输入认证不通过原因"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="认证  0未认证 1已认证  2认证不通过" prop="state">
+        <el-input v-model="queryParams.state" placeholder="请输入认证  0未认证 1已认证  2认证不通过"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item label="企业logo" prop="logo">
+        <el-input v-model="queryParams.logo" placeholder="请输入企业logo"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <el-row :gutter="10" class="mb8">
+        <el-button type="primary" icon="el-icon-plus" :disabled="ids.length > 0" @click="op('add')" v-hasPermi="['work:enterprise:add']">新增</el-button>
+        <el-button type="success" icon="el-icon-edit" :disabled="ids.length != 1" @click="op('edit',ids)" v-hasPermi="['work:enterprise:edit']">修改</el-button>
+        <el-button type="danger" icon="el-icon-delete" :disabled="ids.length == 0" @click="del" v-hasPermi="['work:enterprise:remove']">删除{{ids.length>0?'('+ids.length+')':''}}</el-button>
+        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table :data="response.rows" border @selection-change="selects" height="calc(100vh - 270px)">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="id" align="center" prop="id" />
+      <el-table-column label="公司名称" align="center" prop="name" />
+      <el-table-column label="电话" align="center" prop="phone" />
+      <el-table-column label="法定代表人" align="center" prop="legalPerson" />
+      <el-table-column label="邮箱" align="center" prop="email" />
+      <el-table-column label="注册资本" align="center" prop="capital" />
+      <el-table-column label="成立日期" align="center" prop="createDate" />
+      <el-table-column label="地址" align="center" prop="address" />
+      <el-table-column label="简介" align="center" prop="contents" />
+      <el-table-column label="营业执照" align="center" prop="p1" />
+      <el-table-column label="认证不通过原因" align="center" prop="msg" />
+      <el-table-column label="认证  0未认证 1已认证  2认证不通过" align="center" prop="state" />
+      <el-table-column label="企业logo" align="center" prop="logo" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="op('edit',scope.row)" v-hasPermi="['work:enterprise:edit']">修改</el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="del(scope.row)" v-hasPermi="['work:enterprise:remove']">删除</el-button>
+        </template>
+      </el-table-column>
+      <template slot="empty">
+          <el-empty></el-empty>
+      </template>
+    </el-table>
+    <pagination v-if="response.total>0" :total="response.total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
+  </div>
+</template>
+
+<script>
+import edit from './edit'
+export default {
+  name: "Enterprise",
+  data() {
+    return {
+      ids: [],
+      showSearch:true,
+      response: {},
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        phone: null,
+        legalPerson: null,
+        email: null,
+        capital: null,
+        createDate: null,
+        address: null,
+        contents: null,
+        p1: null,
+        msg: null,
+        state: null,
+        logo: null
+        orderByColumn: 'id',
+        isAsc: 'desc'
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    getList() {
+      this.ajax({ url: '/work/enterprise/list', data: this.queryParams }).then(response => {
+            this.response = response;
+      });
+    },
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    selects(rows) {
+      this.ids = rows.map(item => item.id)
+    },
+    op(tag, row) {
+          if (tag == 'add') {
+            this.iframe({ obj: edit, param: {}, title:'新增',width: '45%', height: '55%'});
+          }
+          if (tag == 'edit') {
+              const id = row.id || this.ids[0];
+              this.iframe({ obj: edit, param: {id: id}, title:'编辑',width: '50%', height: '50%'});
+          }
+    },
+    del(row) {
+        this.$confirm('是否确认删除选中数据?', '警告', { type: 'warning' }).then(() => {
+        this.get({ url: '/work/enterprise/remove/' + (row.id || this.ids) }).then(response => {
+                this.$modal.msgSuccess('删除成功');
+                this.getList();
+            });
+        });
+    }
+  }
+};
+</script>

+ 7 - 0
app/pages.json

@@ -142,6 +142,13 @@
 			{
 				"navigationBarTitleText" : "选择城市"
 			}
+		},
+		{
+			"path" : "pages/user/enterprise/edit",
+			"style" : 
+			{
+				"navigationBarTitleText" : "企业认证"
+			}
 		}
 	],
 	"tabBar": {

+ 149 - 0
app/pages/user/enterprise/edit.vue

@@ -0,0 +1,149 @@
+<template>
+	<view class="cmain">
+		<view class="message" v-if="!item.id">需要认证企业信息通过后才能显示</view>
+		<view class="message" v-if="item.state == 0">后台审核信息中...</view>
+		<view class="message" v-if="item.state == 1">审核信息通过</view>
+		<view class="message" v-if="item.state == 2">
+			<view>信息审核失败:</view>
+			<view class="msg">{{ item.msg }}</view>
+		</view>
+		<view class="bos">
+			<u-divider text="企业信息" style="margin: 0px"></u-divider>
+			<view class="form_group">
+				<view class="lable re">企业名称</view>
+				<input type="text" placeholder="请输入企业名称" v-model="item.name" placeholder-class="pc" />
+			</view>
+			<view class="form_group">
+				<view class="lable">信用代码</view>
+				<input type="text" placeholder="请输入信用代码" v-model="item.code" placeholder-class="pc" />
+			</view>
+			<view class="form_group">
+				<view class="lable re">法定代表人</view>
+				<input type="text" placeholder="请输入法定代表人" v-model="item.legalPerson" placeholder-class="pc" />
+			</view>
+			<view class="form_group">
+				<view class="lable re">电话</view>
+				<input type="number" placeholder="请输入电话" v-model="item.phone" placeholder-class="pc" />
+			</view>
+			<view class="form_group">
+				<view class="lable re">邮箱</view>
+				<input type="text" placeholder="请输入邮箱" v-model="item.email" placeholder-class="pc" />
+			</view>
+			<view class="form_group">
+				<view class="lable re">注册资本(万)</view>
+				<input type="number" placeholder="请输入注册资本" v-model="item.capital" placeholder-class="pc" />
+			</view>
+			<view class="form_group">
+				<view class="lable re">人员规模</view>
+				<picker :range="dict.nums" @change="picker($event, 'nums')">
+					<input placeholder="请选择人员规模" v-model="item.nums" :disabled="true" placeholder-class="pc" />
+					<view class="icon more">&#xe8f2;</view>
+				</picker>
+			</view>
+			<view class="form_group">
+				<view class="lable re">成立日期</view>
+				<picker mode="date" fields="date" :end="end" @change="picker($event, 'createDate')">
+					<input placeholder="请选择成立日期" v-model="item.createDate" :disabled="true" placeholder-class="pc" />
+					<view class="icon more">&#xe8f2;</view>
+				</picker>
+			</view>
+			<view class="form_group">
+				<view class="lable re">企业地址</view>
+				<view class="bgm">
+					<input type="text" placeholder="请输入详细地址" v-model="item.address" placeholder-class="pc" class="input" />
+					<view class="msg" @click="select()">选择</view>
+				</view>
+			</view>
+			<view class="form_group" style="border: 0px">
+				<view class="lable re">企业简介</view>
+				<textarea cols="30" rows="10" placeholder="请输入企业简介" v-model="item.contents" placeholder-class="pc"></textarea>
+			</view>
+			<view class="form_group" style="border: 0px">
+				<view class="lable re">营业执照</view>
+				<card v-model="item.p1"></card>
+			</view>
+			<view class="form_group" style="border: 0px">
+				<view class="lable re">企业照片</view>
+				<card v-model="item.avatar"></card>
+			</view>
+		</view>
+		<button class="btn" @click="save()" v-if="item.state != 1">{{ item.id ? '编辑' : '提交' }}</button>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			ip: this.http.ip,
+			end: this.util.getDate('day'),
+			dict: {
+				nums: this.util.getData('nums')
+			},
+			item: {}
+		};
+	},
+	onLoad() {
+		this.http.request({
+			url: '/app/company/detail',
+			success: res => {
+				if (res.data.data) {
+					this.item = res.data.data;
+				}
+			}
+		});
+	},
+	methods: {
+		picker(e, tag) {
+			if (tag == 'createDate') {
+				this.item[tag] = e.detail.value;
+			} else {
+				this.item[tag] = this.dict[tag][e.detail.value];
+			}
+			this.$forceUpdate();
+		},
+		select() {
+			uni.chooseLocation({
+				success: res => {
+					this.item.address = res.address;
+					this.$forceUpdate();
+				}
+			});
+		},
+		save() {
+			let rule = [
+				{ name: 'name', checkType: 'notnull', errorMsg: '请输入企业名称' },
+				{ name: 'legalPerson', checkType: 'notnull', errorMsg: '请输入法定代表人' },
+				{ name: 'phone', checkType: 'notnull', errorMsg: '请输入电话' },
+				{ name: 'email', checkType: 'email', errorMsg: '请输入邮箱' },
+				{ name: 'createDate', checkType: 'notnull', errorMsg: '请选择成立日期' },
+				{ name: 'address', checkType: 'notnull', errorMsg: '请输地址' },
+				{ name: 'contents', checkType: 'notnull', errorMsg: '请输入企业简介' },
+				{ name: 'p1', checkType: 'notnull', errorMsg: '请上传营业执照' },
+				{ name: 'avatar', checkType: 'notnull', errorMsg: '请上传企业照片' }
+			];
+			if (!this.verify.check(this.item, rule)) {
+				uni.showModal({ content: this.verify.error, showCancel: false });
+				return false;
+			}
+			this.http.request({
+				url: '/app/company/edit',
+				data: this.item,
+				method: 'POST',
+				success: res => {
+					uni.showModal({
+						title: '提示',
+						content: '提交成功,等待后台审核。',
+						showCancel: false,
+						success: res => {
+							uni.navigateBack();
+						}
+					});
+				}
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss"></style>

+ 31 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/api/Api_EnterpriseController.java

@@ -0,0 +1,31 @@
+package com.ruoyi.web.work.api;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.web.work.api.config.BaseController;
+import com.ruoyi.web.work.domain.Enterprise;
+import com.ruoyi.web.work.service.IEnterpriseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/app/enterprise")
+public class Api_EnterpriseController extends BaseController {
+
+    @Autowired
+    private IEnterpriseService enterpriseService;
+
+    @PostMapping("/index")
+    public AjaxResult index() {
+        return enterpriseService.index();
+    }
+
+    @PostMapping("/edit")
+    public AjaxResult edit(@Validated @RequestBody Enterprise enterprise) {
+        return enterpriseService.edit(enterprise);
+    }
+}
+

+ 62 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/EnterpriseController.java

@@ -0,0 +1,62 @@
+package com.ruoyi.web.work.controller;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.web.work.domain.Enterprise;
+import com.ruoyi.web.work.service.IEnterpriseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 企业信息
+ * @author lsw
+ * @date 2024-06-05
+ */
+@RestController
+@RequestMapping("/work/enterprise")
+public class EnterpriseController extends BaseController {
+    @Autowired
+    private IEnterpriseService enterpriseService;
+
+    @PreAuthorize("@ss.hasPermi('work:enterprise:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Enterprise enterprise){
+        startPage();
+        List<Enterprise> list = enterpriseService.selectList(enterprise);
+        return getDataTable(list);
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:enterprise:query')")
+    @GetMapping(value = "/detail/{id}")
+    public AjaxResult detail(@PathVariable("id") Long id){
+        return AjaxResult.success(enterpriseService.getById(id));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:enterprise:add')")
+    @Log(title = "企业信息", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody Enterprise enterprise){
+        return toAjax(enterpriseService.save(enterprise));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:enterprise:edit')")
+    @Log(title = "企业信息", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody Enterprise enterprise){
+        return toAjax(enterpriseService.updateById(enterprise));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:enterprise:remove')")
+    @Log(title = "企业信息", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids){
+        return toAjax(enterpriseService.removeByIds(Arrays.asList(ids)));
+    }
+}

+ 71 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Enterprise.java

@@ -0,0 +1,71 @@
+package com.ruoyi.web.work.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+/**
+ * @author lsw
+ * @date 2024-06-05
+ */
+@Data
+@TableName(value = "tb_enterprise")
+@Accessors(chain = true)
+public class Enterprise{
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+
+    @ApiModelProperty(value = "关联账号")
+    private Long userId;
+
+    @ApiModelProperty(value = "公司名称")
+    private String name;
+
+    @ApiModelProperty(value = "电话")
+    private String phone;
+
+    @ApiModelProperty(value = "法定代表人")
+    private String legalPerson;
+
+    @ApiModelProperty(value = "邮箱")
+    private String email;
+
+    @ApiModelProperty(value = "注册资本")
+    private String capital;
+
+    @ApiModelProperty(value = "成立日期")
+    private String createDate;
+
+    @ApiModelProperty(value = "地址")
+    private String address;
+
+    @ApiModelProperty(value = "简介")
+    private String contents;
+
+    @ApiModelProperty(value = "营业执照")
+    private String p1;
+
+    @ApiModelProperty(value = "认证不通过原因")
+    private String msg;
+
+    @ApiModelProperty(value = "认证  0未认证 1已认证  2认证不通过")
+    private Integer state;
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "企业logo")
+    private String logo;
+
+
+}

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/EnterpriseMapper.java

@@ -0,0 +1,13 @@
+package com.ruoyi.web.work.mapper;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Enterprise;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @author lsw
+ * @date 2024-06-05
+ */
+public interface EnterpriseMapper extends BaseMapper<Enterprise> {
+    List<Enterprise> selectList(Enterprise enterprise);
+}

+ 19 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IEnterpriseService.java

@@ -0,0 +1,19 @@
+package com.ruoyi.web.work.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.web.work.domain.Enterprise;
+
+import java.util.List;
+
+/**
+ * @author lsw
+ * @date 2024-06-05
+ */
+public interface IEnterpriseService extends IService<Enterprise>{
+    List<Enterprise> selectList(Enterprise enterprise);
+
+    AjaxResult index();
+
+    AjaxResult edit(Enterprise enterprise);
+}

+ 49 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/EnterpriseServiceImpl.java

@@ -0,0 +1,49 @@
+package com.ruoyi.web.work.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.web.work.api.util.AppUtil;
+import com.ruoyi.web.work.domain.Enterprise;
+import com.ruoyi.web.work.mapper.EnterpriseMapper;
+import com.ruoyi.web.work.service.IEnterpriseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author lsw
+ * @date 2024-06-05
+ */
+@Service
+public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterprise> implements IEnterpriseService {
+    @Autowired
+    private EnterpriseMapper enterpriseMapper;
+
+    @Override
+    public List<Enterprise> selectList(Enterprise enterprise) {
+        return enterpriseMapper.selectList(enterprise);
+    }
+
+    @Override
+    public AjaxResult index() {
+        Enterprise enterprise = getById(AppUtil.getUser().getId());
+        if (enterprise == null) {
+            enterprise.setId(AppUtil.getUser().getId());
+            if (!save(enterprise)) {
+                throw new ServiceException("创建企业信息失败");
+            }
+        }
+        return AjaxResult.success(enterprise);
+    }
+
+    @Override
+    public AjaxResult edit(Enterprise enterprise) {
+        enterprise.setId(AppUtil.getUser().getId());
+        if (updateById(enterprise)) {
+            throw new ServiceException("编辑企业信息失败");
+        }
+        return AjaxResult.success();
+    }
+}

+ 25 - 0
ruoyi-admin/src/main/resources/EnterpriseMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.web.work.mapper.EnterpriseMapper">
+    
+    <select id="selectList" resultType="com.ruoyi.web.work.domain.Enterprise">
+        select * from tb_enterprise
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
+            <if test="legalPerson != null  and legalPerson != ''"> and legal_person = #{legalPerson}</if>
+            <if test="email != null  and email != ''"> and email = #{email}</if>
+            <if test="capital != null  and capital != ''"> and capital = #{capital}</if>
+            <if test="createDate != null  and createDate != ''"> and create_date = #{createDate}</if>
+            <if test="address != null  and address != ''"> and address = #{address}</if>
+            <if test="contents != null  and contents != ''"> and contents = #{contents}</if>
+            <if test="p1 != null  and p1 != ''"> and p1 = #{p1}</if>
+            <if test="msg != null  and msg != ''"> and msg = #{msg}</if>
+            <if test="state != null "> and state = #{state}</if>
+            <if test="logo != null  and logo != ''"> and logo = #{logo}</if>
+        </where>
+    </select>
+
+</mapper>

+ 19 - 0
ruoyi-admin/src/main/resources/mapper/work/enterpriseMenu.sql

@@ -0,0 +1,19 @@
+-- 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('企业信息', '3', '1', 'enterprise', 'work/enterprise/index', 1, 0, 'C', '0', '0', 'work:enterprise:list', '#', 'admin', sysdate(), '', null, '企业信息菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'work:enterprise:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'work:enterprise:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'work:enterprise:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'work:enterprise:remove',       '#', 'admin', sysdate(), '', null, '');