|
@@ -23,8 +23,8 @@
|
|
|
{
|
|
|
required: true,
|
|
|
message: '请上传机构LOGO',
|
|
|
- trigger: 'blur, change'
|
|
|
- }
|
|
|
+ trigger: 'blur, change',
|
|
|
+ },
|
|
|
]"
|
|
|
>
|
|
|
<div style="width: 300px !important">
|
|
@@ -41,11 +41,19 @@
|
|
|
<img v-if="form.logo" :src="form.logo" class="avatar" />
|
|
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
</el-upload> -->
|
|
|
- <image-cropper :options="cropperOptions" :disabled="isDisabled" :imgSize="5" accept=".png" :acceptArray="['image/png']" :imageUrl="form.logo" @crop-upload-success="cropSuccess" />
|
|
|
+ <image-cropper
|
|
|
+ :options="cropperOptions"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ :imgSize="5"
|
|
|
+ accept=".png"
|
|
|
+ :acceptArray="['image/png']"
|
|
|
+ :imageUrl="form.logo"
|
|
|
+ @crop-upload-success="cropSuccess"
|
|
|
+ />
|
|
|
<div
|
|
|
class="tips"
|
|
|
v-show="!isDisabled"
|
|
|
- style="line-height: 1.3;color: red;"
|
|
|
+ style="line-height: 1.3; color: red"
|
|
|
>
|
|
|
仅支持图片格式:png,大小:5MB;
|
|
|
</div>
|
|
@@ -68,8 +76,8 @@
|
|
|
{
|
|
|
required: true,
|
|
|
message: '请上企业公章',
|
|
|
- trigger: 'blur, change'
|
|
|
- }
|
|
|
+ trigger: 'blur, change',
|
|
|
+ },
|
|
|
]"
|
|
|
>
|
|
|
<div style="width: 300px !important" class="ant-upload-preview">
|
|
@@ -84,18 +92,22 @@
|
|
|
:on-success="handleAvatarSuccess"
|
|
|
:before-upload="beforeAvatarUpload"
|
|
|
>
|
|
|
- <img v-if="form.corporateChops" :src="form.corporateChops" class="avatar" />
|
|
|
+ <img
|
|
|
+ v-if="form.corporateChops"
|
|
|
+ :src="form.corporateChops"
|
|
|
+ class="avatar"
|
|
|
+ />
|
|
|
<span v-else>
|
|
|
- <i class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- <span class="upload-desc">添加上传图片</span>
|
|
|
+ <i class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ <span class="upload-desc">添加上传图片</span>
|
|
|
</span>
|
|
|
</el-upload>
|
|
|
<div
|
|
|
class="tips"
|
|
|
v-show="!isDisabled && tenantInfo != 'SETTING'"
|
|
|
- style="line-height: 1.3;color: red;"
|
|
|
+ style="line-height: 1.3; color: red"
|
|
|
>
|
|
|
- 请上传透明背景PNG格式公章图片;<br/>
|
|
|
+ 请上传透明背景PNG格式公章图片;<br />
|
|
|
仅支持图片格式:png,大小:5MB;
|
|
|
</div>
|
|
|
</div>
|
|
@@ -107,8 +119,8 @@
|
|
|
{
|
|
|
required: true,
|
|
|
message: '请上传企业财务公章',
|
|
|
- trigger: 'blur, change'
|
|
|
- }
|
|
|
+ trigger: 'blur, change',
|
|
|
+ },
|
|
|
]"
|
|
|
>
|
|
|
<div style="width: 300px !important" class="ant-upload-preview">
|
|
@@ -123,18 +135,22 @@
|
|
|
:on-success="handleAvatarSuccess2"
|
|
|
:before-upload="beforeAvatarUpload"
|
|
|
>
|
|
|
- <img v-if="form.corporateFinanceChops" :src="form.corporateFinanceChops" class="avatar" />
|
|
|
+ <img
|
|
|
+ v-if="form.corporateFinanceChops"
|
|
|
+ :src="form.corporateFinanceChops"
|
|
|
+ class="avatar"
|
|
|
+ />
|
|
|
<span v-else>
|
|
|
- <i class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- <span class="upload-desc">添加上传图片</span>
|
|
|
+ <i class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ <span class="upload-desc">添加上传图片</span>
|
|
|
</span>
|
|
|
</el-upload>
|
|
|
<div
|
|
|
class="tips"
|
|
|
v-show="!isDisabled && tenantInfo != 'SETTING'"
|
|
|
- style="line-height: 1.3;color: red;"
|
|
|
+ style="line-height: 1.3; color: red"
|
|
|
>
|
|
|
- 请上传透明背景PNG格式公章图片;<br/>
|
|
|
+ 请上传透明背景PNG格式公章图片;<br />
|
|
|
仅支持图片格式:png,大小:5MB;
|
|
|
</div>
|
|
|
</div>
|
|
@@ -154,7 +170,7 @@
|
|
|
v-if="tenantInfo == 'SETTING'"
|
|
|
prop="theme"
|
|
|
:rules="[
|
|
|
- { required: true, message: '请选择主题', trigger: 'change' }
|
|
|
+ { required: true, message: '请选择主题', trigger: 'change' },
|
|
|
]"
|
|
|
>
|
|
|
<div style="width: 300px !important">
|
|
@@ -182,7 +198,7 @@
|
|
|
label="机构全称"
|
|
|
prop="tsignName"
|
|
|
:rules="[
|
|
|
- { required: true, message: '请输入机构全称', trigger: 'blur' }
|
|
|
+ { required: true, message: '请输入机构全称', trigger: 'blur' },
|
|
|
]"
|
|
|
>
|
|
|
<el-input
|
|
@@ -195,7 +211,7 @@
|
|
|
label="机构简称"
|
|
|
prop="name"
|
|
|
:rules="[
|
|
|
- { required: true, message: '请输入机构简称', trigger: 'blur' }
|
|
|
+ { required: true, message: '请输入机构简称', trigger: 'blur' },
|
|
|
]"
|
|
|
>
|
|
|
<el-input
|
|
@@ -210,7 +226,7 @@
|
|
|
<el-form-item
|
|
|
prop="province"
|
|
|
:rules="[{ required: true, message: '请选择省', trigger: 'change' }]"
|
|
|
- style="margin-right: 0;"
|
|
|
+ style="margin-right: 0"
|
|
|
>
|
|
|
<el-select
|
|
|
v-model.trim="form.province"
|
|
@@ -218,7 +234,7 @@
|
|
|
placeholder="请选择省"
|
|
|
:disabled="isDisabled"
|
|
|
clearable
|
|
|
- style="width: 148px !important;"
|
|
|
+ style="width: 148px !important"
|
|
|
@change="onChangeProvince"
|
|
|
>
|
|
|
<el-option
|
|
@@ -232,13 +248,13 @@
|
|
|
<el-form-item
|
|
|
prop="city"
|
|
|
:rules="[{ required: true, message: '请选择市', trigger: 'change' }]"
|
|
|
- style="margin-right: 0;"
|
|
|
+ style="margin-right: 0"
|
|
|
>
|
|
|
<el-select
|
|
|
v-model.trim="form.city"
|
|
|
filterable
|
|
|
:disabled="isDisabled"
|
|
|
- style="width: 148px !important;"
|
|
|
+ style="width: 148px !important"
|
|
|
placeholder="请选择市"
|
|
|
clearable
|
|
|
>
|
|
@@ -251,9 +267,13 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="机构地址" prop="address" :rules="[
|
|
|
- { required: true, message: '请输入机构地址', trigger: 'blur' }
|
|
|
- ]">
|
|
|
+ <el-form-item
|
|
|
+ label="机构地址"
|
|
|
+ prop="address"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入机构地址', trigger: 'blur' },
|
|
|
+ ]"
|
|
|
+ >
|
|
|
<el-input
|
|
|
v-model.trim="form.address"
|
|
|
:disabled="isDisabled"
|
|
@@ -264,7 +284,7 @@
|
|
|
label="营业执照编号"
|
|
|
prop="tsignCode"
|
|
|
:rules="[
|
|
|
- { required: true, message: '请输入营业执照编号', trigger: 'blur' }
|
|
|
+ { required: true, message: '请输入营业执照编号', trigger: 'blur' },
|
|
|
]"
|
|
|
>
|
|
|
<el-input
|
|
@@ -277,7 +297,7 @@
|
|
|
label="机构联系人"
|
|
|
prop="contacts"
|
|
|
:rules="[
|
|
|
- { required: true, message: '请输入机构联系人', trigger: 'blur' }
|
|
|
+ { required: true, message: '请输入机构联系人', trigger: 'blur' },
|
|
|
]"
|
|
|
>
|
|
|
<el-input
|
|
@@ -295,20 +315,18 @@
|
|
|
{
|
|
|
pattern: /^1[3456789]\d{9}$/,
|
|
|
message: '请输入正确的手机号',
|
|
|
- trigger: 'blur'
|
|
|
+ trigger: 'blur',
|
|
|
},
|
|
|
- { validator: validatePhone, trigger: 'blur' }
|
|
|
+ { validator: validatePhone, trigger: 'blur' },
|
|
|
]"
|
|
|
>
|
|
|
<template #label>
|
|
|
联系人手机号
|
|
|
<el-tooltip placement="top" popper-class="mTooltip">
|
|
|
- <div slot="content">
|
|
|
- 该手机号为机构管理员登录账号
|
|
|
- </div>
|
|
|
+ <div slot="content">该手机号为机构管理员登录账号</div>
|
|
|
<i
|
|
|
class="el-icon-question micon el-tooltip"
|
|
|
- style="font-size: 18px; color: #F56C6C"
|
|
|
+ style="font-size: 18px; color: #f56c6c"
|
|
|
v-permission="'export/teacherSalary'"
|
|
|
></i>
|
|
|
</el-tooltip>
|
|
@@ -330,10 +348,11 @@
|
|
|
:rules="[
|
|
|
{ required: true, message: '请输入机构邮箱', trigger: 'blur' },
|
|
|
{
|
|
|
- pattern: /^\w+((.\w+)|(-\w+))@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+).[A-Za-z0-9]+$/,
|
|
|
+ pattern:
|
|
|
+ /^\w+((.\w+)|(-\w+))@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+).[A-Za-z0-9]+$/,
|
|
|
message: '请输入正确的邮箱格式',
|
|
|
- trigger: 'blur'
|
|
|
- }
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
]"
|
|
|
>
|
|
|
<el-input
|
|
@@ -353,7 +372,6 @@
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
-
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -363,40 +381,40 @@ import { checkStudentPhone } from "../api";
|
|
|
import { areaQueryChild, getParentArea } from "@/api/specialSetting";
|
|
|
import ThemePicker from "@/components/ThemePicker";
|
|
|
import { setTheme } from "@/utils/setTheme";
|
|
|
-import ImageCropper from '@/components/ImageCropper'
|
|
|
+import ImageCropper from "@/components/ImageCropper";
|
|
|
export default {
|
|
|
props: ["type", "data", "tenantInfo"],
|
|
|
components: { ThemePicker, ImageCropper },
|
|
|
data() {
|
|
|
return {
|
|
|
headers: {
|
|
|
- Authorization: getToken()
|
|
|
+ Authorization: getToken(),
|
|
|
},
|
|
|
themeList: [
|
|
|
{
|
|
|
name: "亚丁绿",
|
|
|
value: "adenGreen",
|
|
|
color: "#00A79D",
|
|
|
- selected: false
|
|
|
+ selected: false,
|
|
|
},
|
|
|
{
|
|
|
name: "暮云灰",
|
|
|
value: "cloudAshes",
|
|
|
color: "#444D5C",
|
|
|
- selected: false
|
|
|
+ selected: false,
|
|
|
},
|
|
|
{
|
|
|
name: "柏林蓝",
|
|
|
value: "berlinBlue",
|
|
|
color: "#2B78CC",
|
|
|
- selected: false
|
|
|
+ selected: false,
|
|
|
},
|
|
|
{
|
|
|
name: "火山红",
|
|
|
value: "volcanicRed",
|
|
|
color: "#BC3030",
|
|
|
- selected: false
|
|
|
- }
|
|
|
+ selected: false,
|
|
|
+ },
|
|
|
],
|
|
|
form: {
|
|
|
tsignName: null,
|
|
@@ -429,7 +447,7 @@ export default {
|
|
|
autoCropHeight: 72, //默认生成截图框高度
|
|
|
fixedBox: true, //是否固定截图框大小 不允许改变
|
|
|
previewsCircle: false, //预览图是否是圆形
|
|
|
- title: '上传机构LOGO', //模态框上显示的标题
|
|
|
+ title: "上传机构LOGO", //模态框上显示的标题
|
|
|
},
|
|
|
};
|
|
|
},
|
|
@@ -439,14 +457,14 @@ export default {
|
|
|
this.form = Object.assign(this.form, this.data);
|
|
|
this.payState = this.data.payState;
|
|
|
|
|
|
- const { phone } = this.data
|
|
|
+ const { phone } = this.data;
|
|
|
// 判断是否已存在手机号
|
|
|
- if(phone) {
|
|
|
- this.originPhone = phone
|
|
|
+ if (phone) {
|
|
|
+ this.originPhone = phone;
|
|
|
}
|
|
|
}
|
|
|
// 选中默认颜色
|
|
|
- this.themeList.forEach(theme => {
|
|
|
+ this.themeList.forEach((theme) => {
|
|
|
if (theme.color == this.form.themeColor) {
|
|
|
theme.selected = true;
|
|
|
} else {
|
|
@@ -455,7 +473,7 @@ export default {
|
|
|
});
|
|
|
// 判断是否有城市编号
|
|
|
if (this.form.areaId) {
|
|
|
- await getParentArea({ id: this.form.areaId }).then(async res => {
|
|
|
+ await getParentArea({ id: this.form.areaId }).then(async (res) => {
|
|
|
if (res.code == 200 && res.data) {
|
|
|
await this.getAreaList(res.data.id, () => {
|
|
|
this.$set(this.form, "province", res.data.id);
|
|
@@ -470,6 +488,11 @@ export default {
|
|
|
}
|
|
|
|
|
|
this.$refs.form.clearValidate();
|
|
|
+ if (this.data&& this.$route.query.type == "create") {
|
|
|
+ this.checkPhone();
|
|
|
+ // 验证表单 看看是否有异常
|
|
|
+ this.onSubmit();
|
|
|
+ }
|
|
|
},
|
|
|
computed: {
|
|
|
isDisabled() {
|
|
@@ -479,18 +502,18 @@ export default {
|
|
|
} else {
|
|
|
return this.type == "setting" || this.payState == 1 ? true : false;
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
methods: {
|
|
|
//上传图片成功
|
|
|
cropSuccess(data) {
|
|
|
// this.imgUrl = data.data.avatar
|
|
|
this.form.logo = data.data.url;
|
|
|
- console.log(this.form.logo)
|
|
|
+ console.log(this.form.logo);
|
|
|
},
|
|
|
themeChange(item) {
|
|
|
// 切换主题时设置跟主题对应的主题色
|
|
|
- this.themeList.forEach(theme => {
|
|
|
+ this.themeList.forEach((theme) => {
|
|
|
theme.selected = false;
|
|
|
});
|
|
|
item.selected = true;
|
|
@@ -502,13 +525,13 @@ export default {
|
|
|
setTheme({
|
|
|
themeColor: item.color,
|
|
|
theme: item.value,
|
|
|
- saveTheme: false
|
|
|
+ saveTheme: false,
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
onSubmit() {
|
|
|
let state = false;
|
|
|
- this.$refs.form.validate(_ => {
|
|
|
+ this.$refs.form.validate((_) => {
|
|
|
console.log(_);
|
|
|
state = _;
|
|
|
});
|
|
@@ -517,9 +540,13 @@ export default {
|
|
|
async checkPhone() {
|
|
|
const phone = this.form.phone;
|
|
|
// 判断是否是自己之前注册的手机号
|
|
|
- if(phone == this.originPhone && this.originPhone) {
|
|
|
- this.errorPhone = null
|
|
|
- return
|
|
|
+ if (
|
|
|
+ phone == this.originPhone &&
|
|
|
+ this.originPhone &&
|
|
|
+ this.$route.query.type != "create"
|
|
|
+ ) {
|
|
|
+ this.errorPhone = null;
|
|
|
+ return;
|
|
|
}
|
|
|
try {
|
|
|
const regu = /^1[3456789]\d{9}$/;
|
|
@@ -534,7 +561,9 @@ export default {
|
|
|
this.errorPhone = null;
|
|
|
}
|
|
|
}
|
|
|
- } catch (e) {}
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e);
|
|
|
+ }
|
|
|
},
|
|
|
onChangeProvince(val) {
|
|
|
this.form.city = null;
|
|
@@ -542,13 +571,13 @@ export default {
|
|
|
},
|
|
|
getAreaList(parentId, callback) {
|
|
|
parentId = parentId ? parentId : 0;
|
|
|
- areaQueryChild({ parentId: parentId }).then(res => {
|
|
|
+ areaQueryChild({ parentId: parentId }).then((res) => {
|
|
|
if (res.code == 200 && res.data) {
|
|
|
let tempData = [];
|
|
|
- res.data.forEach(item => {
|
|
|
+ res.data.forEach((item) => {
|
|
|
tempData.push({
|
|
|
label: item.name,
|
|
|
- value: item.id
|
|
|
+ value: item.id,
|
|
|
});
|
|
|
});
|
|
|
if (parentId) {
|
|
@@ -592,7 +621,7 @@ export default {
|
|
|
// },
|
|
|
beforeAvatarUpload(file) {
|
|
|
const imageType = {
|
|
|
- "image/png": true
|
|
|
+ "image/png": true,
|
|
|
};
|
|
|
const isImage = imageType[file.type];
|
|
|
const isLt2M = file.size / 1024 / 1024 < 5;
|
|
@@ -612,8 +641,8 @@ export default {
|
|
|
} else {
|
|
|
callback();
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
@@ -669,7 +698,8 @@ export default {
|
|
|
.el-textarea {
|
|
|
width: 300px !important;
|
|
|
}
|
|
|
-.el-textarea, /deep/.el-textarea__inner {
|
|
|
+.el-textarea,
|
|
|
+/deep/.el-textarea__inner {
|
|
|
height: 108px !important;
|
|
|
min-height: 108px !important;
|
|
|
}
|