|
@@ -8,41 +8,43 @@
|
|
|
style="margin-bottom: 20px"
|
|
|
></el-alert>
|
|
|
<!-- label-position="top" -->
|
|
|
- <el-form ref="form" :model="form" label-width="140px" :inline="true">
|
|
|
+ <el-form ref="form" label-position="top" :model="form" label-width="140px" :inline="true">
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="机构LOGO" prop="logo"
|
|
|
:rules="[{ required: true, message: '请上传机构LOGO', trigger: 'blur, change' }]">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- action="/api-web/uploadFile"
|
|
|
- accept=".png"
|
|
|
- :headers="headers"
|
|
|
- :show-file-list="false"
|
|
|
- :disabled="isDisabled"
|
|
|
- :on-success="handleAvatarSuccess"
|
|
|
- :before-upload="beforeAvatarUpload"
|
|
|
- >
|
|
|
- <img v-if="form.logo" :src="form.logo" class="avatar" />
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- <div class="tips" v-show="!isDisabled" style="line-height: 1;color: red;">图片尺寸:258x74;支持的格式:png;</div>
|
|
|
+ <div style="width: 300px !important">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ action="/api-web/uploadFile"
|
|
|
+ accept=".png"
|
|
|
+ :headers="headers"
|
|
|
+ :show-file-list="false"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ :on-success="handleAvatarSuccess"
|
|
|
+ :before-upload="beforeAvatarUpload"
|
|
|
+ >
|
|
|
+ <img v-if="form.logo" :src="form.logo" class="avatar" />
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ <div class="tips" v-show="!isDisabled" style="line-height: 1;color: red;">图片尺寸:72x72;支持的格式:png;</div>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="整体风格" prop="theme"
|
|
|
- :rules="[{ required: true, message: '请选择整体风格', trigger: 'change' }]">
|
|
|
+ <el-form-item label="主题" prop="theme" :rules="[{ required: true, message: '请选择主题', trigger: 'change' }]">
|
|
|
<el-select
|
|
|
v-model="form.theme"
|
|
|
:disabled="isDisabled"
|
|
|
- placeholder="请选择整体风格"
|
|
|
- style="width: 238px !important"
|
|
|
+ placeholder="请选择主题"
|
|
|
>
|
|
|
<el-option label="大雅绿" value="green"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="主题色" prop="themeColor" :rules="[{ required: true, message: '请选择主题色', trigger: 'change' }]">
|
|
|
- <el-color-picker v-model="themeColor"></el-color-picker>
|
|
|
- </el-form-item> -->
|
|
|
+ <div style="width: 300px !important">
|
|
|
+ <el-color-picker :disabled="isDisabled" v-model="form.themeColor"></el-color-picker>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
</el-col>
|
|
|
- <el-form-item label="公司全称" prop="tsignName" v-show="tenantInfo != 'SETTING'"
|
|
|
+ <el-form-item label="公司全称" prop="tsignName" v-if="tenantInfo != 'SETTING'"
|
|
|
:rules="[{ required: true, message: '请输入公司全称', trigger: 'blur' }]">
|
|
|
<el-input
|
|
|
v-model.trim="form.tsignName"
|
|
@@ -50,7 +52,7 @@
|
|
|
placeholder="请输入公司全称"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="营业执照编号" prop="tsignCode" v-show="tenantInfo != 'SETTING'"
|
|
|
+ <el-form-item label="营业执照编号" prop="tsignCode" v-if="tenantInfo != 'SETTING'"
|
|
|
:rules="[{ required: true, message: '请输入营业执照编号', trigger: 'blur' }]">
|
|
|
<el-input
|
|
|
v-model.trim="form.tsignCode"
|
|
@@ -58,12 +60,48 @@
|
|
|
placeholder="请输入营业执照编号"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="机构名称" prop="name"
|
|
|
- :rules="[{ required: true, message: '请输入机构名称', trigger: 'blur' }]">
|
|
|
+ <!-- <el-form-item label="所在城市" required>
|
|
|
+ <el-form-item prop="province" :rules="[{ required: true, message: '请选择省', trigger: 'change' }]" style="margin-right: 0;">
|
|
|
+ <el-select
|
|
|
+ v-model.trim="form.province"
|
|
|
+ filterable
|
|
|
+ placeholder="请选择省"
|
|
|
+ clearable
|
|
|
+ style="width: 90px !important;"
|
|
|
+ @change="onChangeProvince"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in provinceList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="city" :rules="[{ required: true, message: '请选择市', trigger: 'change' }]">
|
|
|
+ <el-select
|
|
|
+ v-model.trim="form.city"
|
|
|
+ filterable
|
|
|
+ style="width: 90px !important;"
|
|
|
+ placeholder="请选择市"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in cityList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
+ <el-form-item label="机构简称" prop="name"
|
|
|
+ :rules="[{ required: true, message: '请输入机构简称', trigger: 'blur' }]">
|
|
|
<el-input
|
|
|
v-model.trim="form.name"
|
|
|
:disabled="isDisabled"
|
|
|
- placeholder="请输入机构名称"
|
|
|
+ :max="60"
|
|
|
+ placeholder="请输入机构简称"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="机构联系人" prop="contacts"
|
|
@@ -83,7 +121,7 @@
|
|
|
:disabled="isDisabled"
|
|
|
type="number"
|
|
|
oninput="if(value.length > 11)value=value.slice(0, 11)"
|
|
|
- style="width: 184px"
|
|
|
+ style="width: 187px"
|
|
|
placeholder="请输入联系人手机号"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
@@ -96,6 +134,7 @@
|
|
|
placeholder="请输入机构邮箱"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
+ <!-- -->
|
|
|
<el-form-item label="机构客服电话" prop="customerServicePhone">
|
|
|
<el-input
|
|
|
v-model.trim="form.customerServicePhone"
|
|
@@ -126,6 +165,10 @@
|
|
|
|
|
|
<script>
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
+import {
|
|
|
+ areaQueryChild,
|
|
|
+ getParentArea,
|
|
|
+} from "@/api/specialSetting";
|
|
|
export default {
|
|
|
props: ['type', 'data', 'tenantInfo'],
|
|
|
data () {
|
|
@@ -139,6 +182,8 @@ export default {
|
|
|
logo: null,
|
|
|
name: null,
|
|
|
contacts: null,
|
|
|
+ province: null,
|
|
|
+ city: null, // 分部编号
|
|
|
phone: null,
|
|
|
email: null,
|
|
|
address: null,
|
|
@@ -148,19 +193,34 @@ export default {
|
|
|
themeColor: '#14928a'
|
|
|
},
|
|
|
payState: null,
|
|
|
- imageWidthM: 258,
|
|
|
- imageHeightM: 74,
|
|
|
+ imageWidthM: 72,
|
|
|
+ imageHeightM: 72,
|
|
|
+ provinceList: [],
|
|
|
+ cityList: []
|
|
|
};
|
|
|
},
|
|
|
- mounted () {
|
|
|
+ async mounted () {
|
|
|
+ await this.getAreaList()
|
|
|
if(this.data) {
|
|
|
this.form = { ...this.data }
|
|
|
this.payState = this.data.payState
|
|
|
}
|
|
|
+ // 判断是否有城市编号
|
|
|
+ if(this.form.areaId) {
|
|
|
+ await getParentArea({ id: this.form.areaId }).then(async (res) => {
|
|
|
+ if (res.code == 200 && res.data) {
|
|
|
+ await this.getAreaList(res.data.id, () => {
|
|
|
+ this.form.province = res.data.id
|
|
|
+ this.form.city = this.form.areaId
|
|
|
+ });
|
|
|
+ this.branchStatus = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
computed: {
|
|
|
isDisabled() {
|
|
|
- console.log(this.payState)
|
|
|
+ // console.log(this.payState)
|
|
|
return this.type == 'setting' || this.payState == 1 ? true : false
|
|
|
}
|
|
|
},
|
|
@@ -172,7 +232,35 @@ export default {
|
|
|
})
|
|
|
return state
|
|
|
},
|
|
|
+ onChangeProvince(val) {
|
|
|
+ this.form.city = null;
|
|
|
+ this.getAreaList(val);
|
|
|
+ },
|
|
|
+ getAreaList(parentId, callback) {
|
|
|
+ parentId = parentId ? parentId : 0;
|
|
|
+ areaQueryChild({ parentId: parentId }).then((res) => {
|
|
|
+ if (res.code == 200 && res.data) {
|
|
|
+ let tempData = [];
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ tempData.push({
|
|
|
+ label: item.name,
|
|
|
+ value: item.id,
|
|
|
+ });
|
|
|
+ });
|
|
|
+ if (parentId) {
|
|
|
+ this.cityList = tempData;
|
|
|
+ } else {
|
|
|
+ this.provinceList = tempData;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (callback && typeof callback == "function") {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
getValues() { // 获取数据
|
|
|
+ this.form.areaId = this.form.city;
|
|
|
return this.form
|
|
|
},
|
|
|
handleAvatarSuccess(res) {
|
|
@@ -240,15 +328,18 @@ export default {
|
|
|
.avatar-uploader-icon {
|
|
|
font-size: 28px;
|
|
|
color: #8c939d;
|
|
|
- width: 258px;
|
|
|
- height: 74px;
|
|
|
- line-height: 74px;
|
|
|
+ width: 72px;
|
|
|
+ height: 72px;
|
|
|
+ line-height: 72px;
|
|
|
text-align: center;
|
|
|
}
|
|
|
|
|
|
+.el-input, .el-select, .el-textarea {
|
|
|
+ width: 300px !important;
|
|
|
+}
|
|
|
.avatar {
|
|
|
- width: 258px;
|
|
|
- height: 74px;
|
|
|
+ width: 72px;
|
|
|
+ height: 72px;
|
|
|
display: block;
|
|
|
}
|
|
|
</style>
|