|
@@ -0,0 +1,203 @@
|
|
|
+<template>
|
|
|
+ <div class="index">
|
|
|
+ <el-form
|
|
|
+ ref="ruleFormRef"
|
|
|
+ :model="form"
|
|
|
+ :rules="rules"
|
|
|
+ label-width="100px"
|
|
|
+ class="form"
|
|
|
+ label-position="left"
|
|
|
+ >
|
|
|
+ <el-row>
|
|
|
+ <el-form-item label="企业Logo" prop="logo">
|
|
|
+ <custom-upload
|
|
|
+ model="logo"
|
|
|
+ :list="form.logo"
|
|
|
+ :limit="1"
|
|
|
+ url="/files/web/template/company/upload"
|
|
|
+ @change="onFUpload"
|
|
|
+ listType="picture-card"
|
|
|
+ ></custom-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="企业名称" prop="name">
|
|
|
+ <el-input v-model="form.name" placeholder="请输入企业名称" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="企业类型" prop="pattern">
|
|
|
+ <el-select clearable v-model="form.pattern" placeholder="请选择企业类型">
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in patternList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="企业规模" prop="scale">
|
|
|
+ <el-select clearable v-model="form.scale" placeholder="请选择企业规模">
|
|
|
+ <el-option
|
|
|
+ v-for="item in scaleList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="统一信用代码" prop="code">
|
|
|
+ <el-input v-model="form.code" placeholder="请输入统一信用代码" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="所属行业" prop="type">
|
|
|
+ <el-select clearable v-model="form.type" placeholder="请选择所属行业">
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in IndustryList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="所在地区" prop="region">
|
|
|
+ <el-cascader
|
|
|
+ v-model="form.area"
|
|
|
+ :props="{ value: 'label', label: 'label' }"
|
|
|
+ :options="cityList"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择所在地区"
|
|
|
+ style="width: 100%"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="法定代表人" prop="representative">
|
|
|
+ <el-input v-model="form.representative" placeholder="请输入法定代表人名称" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="电子邮箱" prop="email">
|
|
|
+ <el-input v-model="form.email" type="email" placeholder="请输入电子邮箱" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="员工人数" prop="person">
|
|
|
+ <el-input v-model="form.person" placeholder="请输入员工人数" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="注册资本" prop="register">
|
|
|
+ <el-input v-model="form.register" placeholder="请输入注册资本(万元)" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="成立时间" prop="create_time">
|
|
|
+ <el-date-picker
|
|
|
+ format="YYYY-MM-DD"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ v-model="form.create_time"
|
|
|
+ type="date"
|
|
|
+ placeholder="请选择成立时间"
|
|
|
+ style="width: 100%"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="企业地址" prop="address">
|
|
|
+ <el-input v-model="form.address" placeholder="请输入企业地址" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="是否公开" prop="is_show">
|
|
|
+ <el-radio-group v-model="form.is_show">
|
|
|
+ <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="简介" prop="brief">
|
|
|
+ <el-input
|
|
|
+ v-model="form.brief"
|
|
|
+ :autosize="{ minRows: 2, maxRows: 4 }"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入简介"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="button">
|
|
|
+ <el-button type="primary" @click="submitForm(ruleFormRef)">保存</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script setup>
|
|
|
+// 基础
|
|
|
+const cloneDeep = inject('cloneDeep')
|
|
|
+// 表单
|
|
|
+const ruleFormRef = inject('ruleFormRef')
|
|
|
+// 字典表
|
|
|
+const patternList = inject('patternList')
|
|
|
+const scaleList = inject('scaleList')
|
|
|
+const IndustryList = inject('IndustryList')
|
|
|
+const cityList = inject('cityList')
|
|
|
+const isUseList = inject('isUseList')
|
|
|
+// 接口
|
|
|
+import { CompanyStore } from '@/store/api/user/company'
|
|
|
+const companyStore = CompanyStore()
|
|
|
+const form = ref({})
|
|
|
+const rules = reactive({
|
|
|
+ // nick_name: [{ required: true, message: '请输入昵称', trigger: 'blur' }],
|
|
|
+ // gender: [{ required: true, message: '请选择性别', trigger: 'blur' }],
|
|
|
+ // phone: [{ required: true, validator: validatePhoneNumber, trigger: 'blur' }],
|
|
|
+ // account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
|
|
|
+ // password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
|
|
|
+ // refpassword: [{ required: true, validator: validatePassword, trigger: 'blur' }]
|
|
|
+})
|
|
|
+// 上传图片
|
|
|
+const onFUpload = (e) => {
|
|
|
+ const { model, value } = e
|
|
|
+ form.value[model] = value
|
|
|
+}
|
|
|
+// 注册
|
|
|
+const submitForm = async (formEl) => {
|
|
|
+ if (!formEl) return
|
|
|
+ await formEl.validate(async (valid, fields) => {
|
|
|
+ if (valid) {
|
|
|
+ const data = cloneDeep(form.value)
|
|
|
+ const res = await companyStore.update(data)
|
|
|
+ if (res.errcode === 0) {
|
|
|
+ console.log(res)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ console.log('error submit!', fields)
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style scoped lang="scss">
|
|
|
+.index {
|
|
|
+ .button {
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|