|
|
@ -9,32 +9,46 @@ |
|
|
|
:disabled="formType === 'detail'" |
|
|
|
class="form" |
|
|
|
> |
|
|
|
|
|
|
|
<el-form-item label="头像" label-width="150px" |
|
|
|
<el-form-item |
|
|
|
label="头像" |
|
|
|
label-width="150px" |
|
|
|
prop="imageList" |
|
|
|
style="display: block"> |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<div class="imsg-list"> |
|
|
|
<div v-for="(item, index) in dataForm.imageList" :key="index" class="imgs-item"> |
|
|
|
<div |
|
|
|
v-for="(item, index) in dataForm.imageList" |
|
|
|
:key="index" |
|
|
|
class="imgs-item" |
|
|
|
> |
|
|
|
<el-image |
|
|
|
style="width: 100px; height: 100px" |
|
|
|
:src="item" |
|
|
|
fit="fill" |
|
|
|
:preview-src-list="dataForm.imageList"></el-image> |
|
|
|
:preview-src-list="dataForm.imageList" |
|
|
|
></el-image> |
|
|
|
<i class="el-icon-delete" @click="handleDelimg(item, index)"></i> |
|
|
|
</div> |
|
|
|
<el-upload :headers="$getElUploadHeaders()" class="avatar-uploader" |
|
|
|
<el-upload |
|
|
|
:headers="$getElUploadHeaders()" |
|
|
|
class="avatar-uploader" |
|
|
|
v-if="dataForm.imageList.length < 1 && !disabled" |
|
|
|
:action="uploadUlr" |
|
|
|
:data="{customerId:customerId}" |
|
|
|
:data="{ customerId: customerId }" |
|
|
|
:show-file-list="false" |
|
|
|
:disabled="disabled" |
|
|
|
:on-progress="handleProgress" |
|
|
|
:on-success="handleImgSuccess" |
|
|
|
:before-upload="beforeImgUpload" |
|
|
|
accept=".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP"> |
|
|
|
<el-progress v-if="uploading" :width="100" type="circle" :percentage="unloadPencent"></el-progress> |
|
|
|
accept=".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP" |
|
|
|
> |
|
|
|
<el-progress |
|
|
|
v-if="uploading" |
|
|
|
:width="100" |
|
|
|
type="circle" |
|
|
|
:percentage="unloadPencent" |
|
|
|
></el-progress> |
|
|
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i> |
|
|
|
|
|
|
|
</el-upload> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
@ -71,7 +85,7 @@ |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<!-- <el-form-item |
|
|
|
<!-- <el-form-item |
|
|
|
label="负责人姓名 " |
|
|
|
prop="personInCharge" |
|
|
|
label-width="150px" |
|
|
@ -117,7 +131,7 @@ |
|
|
|
v-model="dataForm.serviceTimeStr" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
<!-- <el-date-picker |
|
|
|
<!-- <el-date-picker |
|
|
|
v-model="dataForm.serviceTime" |
|
|
|
type="daterange" |
|
|
|
range-separator="至" |
|
|
@ -203,16 +217,15 @@ |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm" |
|
|
|
>确 定 |
|
|
|
</el-button |
|
|
|
> |
|
|
|
</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import {mapGetters} from "vuex"; |
|
|
|
import {Loading} from "element-ui"; // 引入Loading服务 |
|
|
|
import {requestPost} from "@/js/dai/request"; |
|
|
|
import { mapGetters } from "vuex"; |
|
|
|
import { Loading } from "element-ui"; // 引入Loading服务 |
|
|
|
import { requestPost } from "@/js/dai/request"; |
|
|
|
|
|
|
|
var map; |
|
|
|
var search; |
|
|
@ -223,11 +236,11 @@ let loading; // 加载动画 |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2', |
|
|
|
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadqrcodeV2", |
|
|
|
btnLoading: false, |
|
|
|
uploading: false, |
|
|
|
disabled: false, |
|
|
|
customerId: '', |
|
|
|
customerId: "", |
|
|
|
formType: "add", //表单操作类型 add新增,edit编辑,detail详情 |
|
|
|
|
|
|
|
agencyId: "", |
|
|
@ -259,7 +272,7 @@ export default { |
|
|
|
dataRule() { |
|
|
|
return { |
|
|
|
societyName: [ |
|
|
|
{required: true, message: "组织名称 不能为空", trigger: "blur"}, |
|
|
|
{ required: true, message: "组织名称 不能为空", trigger: "blur" }, |
|
|
|
{ |
|
|
|
min: 1, |
|
|
|
max: 50, |
|
|
@ -268,10 +281,10 @@ export default { |
|
|
|
}, |
|
|
|
], |
|
|
|
imageList: [ |
|
|
|
{required: true, message: "头像不能为空", trigger: "blur"}, |
|
|
|
{ required: true, message: "头像不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
serviceMatters: [ |
|
|
|
{required: true, message: "服务内容不能为空", trigger: "blur"}, |
|
|
|
{ required: true, message: "服务内容不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
/*personInCharge: [ |
|
|
|
{required: true, message: "负责人姓名不能为空", trigger: "blur"}, |
|
|
@ -280,10 +293,10 @@ export default { |
|
|
|
{ required: true, message: "绑定管理员不能为空", trigger: "blur" }, |
|
|
|
],*/ |
|
|
|
mobile: [ |
|
|
|
{required: true, message: "服务电话不能为空", trigger: "blur"}, |
|
|
|
{ required: true, message: "服务电话不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
serviceTimeStr: [ |
|
|
|
{required: true, message: "服务时间不能为空", trigger: "blur"}, |
|
|
|
{ required: true, message: "服务时间不能为空", trigger: "blur" }, |
|
|
|
], |
|
|
|
/*longitude: [ |
|
|
|
{ required: true, message: "位置坐标不能为空", trigger: "blur" }, |
|
|
@ -316,12 +329,12 @@ export default { |
|
|
|
// 定义map变量,调用 TMap.Map() 构造函数创建地图 |
|
|
|
map = new window.TMap.Map(document.getElementById("app"), { |
|
|
|
center: center, // 设置地图中心点坐标 |
|
|
|
zoom: 17.2, // 设置地图缩放级别 |
|
|
|
zoom: 16.2, // 设置地图缩放级别 |
|
|
|
pitch: 43.5, // 设置俯仰角 |
|
|
|
rotation: 45, // 设置地图旋转角度 |
|
|
|
}); |
|
|
|
|
|
|
|
search = new window.TMap.service.Search({pageSize: 10}); |
|
|
|
search = new window.TMap.service.Search({ pageSize: 10 }); |
|
|
|
// 新建一个地点搜索类 |
|
|
|
markers = new TMap.MultiMarker({ |
|
|
|
map: map, |
|
|
@ -358,15 +371,17 @@ export default { |
|
|
|
markers.setGeometries([]); |
|
|
|
// 在地图显示范围内以给定的关键字搜索地点 |
|
|
|
search |
|
|
|
.searchRectangle({ |
|
|
|
.searchNearby({ |
|
|
|
keyword: this.dataForm.address, |
|
|
|
bounds: map.getBounds(), |
|
|
|
radius: 1000, |
|
|
|
autoExtend: true, |
|
|
|
center: map.getCenter(), |
|
|
|
}) |
|
|
|
.then((result) => { |
|
|
|
let {data} = result; |
|
|
|
let { data } = result; |
|
|
|
if (Array.isArray(data) && data.length > 0) { |
|
|
|
const { |
|
|
|
location: {lat, lng}, |
|
|
|
location: { lat, lng }, |
|
|
|
} = data[0]; |
|
|
|
map.setCenter(new TMap.LatLng(lat, lng)); |
|
|
|
this.setMarker(lat, lng); |
|
|
@ -378,32 +393,32 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
beforeImgUpload(file) { |
|
|
|
const isPNG = (file.type === 'image/png') || (file.type === 'image/jpeg') |
|
|
|
const isLt1M = file.size / 1024 / 1024 < 10 |
|
|
|
const isPNG = file.type === "image/png" || file.type === "image/jpeg"; |
|
|
|
const isLt1M = file.size / 1024 / 1024 < 10; |
|
|
|
|
|
|
|
if (!isPNG) { |
|
|
|
this.$message.error('上传图片只能是 PNG 或 JPEG 格式!') |
|
|
|
this.$message.error("上传图片只能是 PNG 或 JPEG 格式!"); |
|
|
|
} |
|
|
|
if (!isLt1M) { |
|
|
|
this.$message.error('上传图片大小不能超过 10MB!') |
|
|
|
this.$message.error("上传图片大小不能超过 10MB!"); |
|
|
|
} |
|
|
|
return isPNG && isLt1M |
|
|
|
return isPNG && isLt1M; |
|
|
|
}, |
|
|
|
handleProgress(event, file, fileList) { |
|
|
|
this.uploading = true |
|
|
|
this.unloadPencent = Number(file.percentage.toFixed(0)) |
|
|
|
this.uploading = true; |
|
|
|
this.unloadPencent = Number(file.percentage.toFixed(0)); |
|
|
|
}, |
|
|
|
handleImgSuccess(res, file) { |
|
|
|
if (res.code === 0 && res.msg === 'success') { |
|
|
|
this.uploading = false |
|
|
|
this.unloadPencent = 0 |
|
|
|
this.dataForm.imageList.push(res.data.url) |
|
|
|
if (res.code === 0 && res.msg === "success") { |
|
|
|
this.uploading = false; |
|
|
|
this.unloadPencent = 0; |
|
|
|
this.dataForm.imageList.push(res.data.url); |
|
|
|
} else { |
|
|
|
this.$message.error(res.msg) |
|
|
|
this.$message.error(res.msg); |
|
|
|
} |
|
|
|
}, |
|
|
|
handleDelimg(item, index) { |
|
|
|
this.dataForm.imageList.splice(index, 1) |
|
|
|
this.dataForm.imageList.splice(index, 1); |
|
|
|
}, |
|
|
|
handleMoveCenter() { |
|
|
|
//修改地图中心点 |
|
|
@ -419,9 +434,9 @@ export default { |
|
|
|
this.$refs.ref_form.resetFields(); |
|
|
|
|
|
|
|
this.formType = type; |
|
|
|
this.dataForm.imageList = [] |
|
|
|
this.dataForm.imageList = []; |
|
|
|
if (row) { |
|
|
|
this.dataForm = {...this.dataForm, ...row}; |
|
|
|
this.dataForm = { ...this.dataForm, ...row }; |
|
|
|
if (row.imgUrl) { |
|
|
|
this.dataForm.imageList.push(row.imgUrl); |
|
|
|
} |
|
|
@ -436,7 +451,7 @@ export default { |
|
|
|
async loadAgency() { |
|
|
|
const url = "/epmetuser/customerstaff/staffbasicinfo"; |
|
|
|
let params = {}; |
|
|
|
const {data, code, msg} = await requestPost(url, params); |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
this.agencyId = data.agencyId; |
|
|
@ -455,7 +470,7 @@ export default { |
|
|
|
pageSize: 100000, |
|
|
|
}; |
|
|
|
|
|
|
|
const {data, code, msg} = await requestPost(url, params); |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
this.staffList = data.staffList.map((item) => { |
|
|
@ -485,7 +500,6 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
async submit() { |
|
|
|
|
|
|
|
let url = ""; |
|
|
|
if (this.formType === "add") { |
|
|
|
url = "/heart/societyorg/add"; |
|
|
@ -496,7 +510,7 @@ export default { |
|
|
|
this.dataForm.societyId = this.societyId; |
|
|
|
} |
|
|
|
|
|
|
|
const {data, code, msg} = await requestPost(url, this.dataForm); |
|
|
|
const { data, code, msg } = await requestPost(url, this.dataForm); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
this.$message({ |
|
|
@ -535,7 +549,6 @@ export default { |
|
|
|
latitude: "", |
|
|
|
imageList:[] |
|
|
|
};*/ |
|
|
|
|
|
|
|
}, |
|
|
|
// 开启加载动画 |
|
|
|
startLoading() { |
|
|
@ -597,15 +610,14 @@ export default { |
|
|
|
} |
|
|
|
|
|
|
|
.avatar-uploader { |
|
|
|
::v-deep |
|
|
|
.el-upload { |
|
|
|
::v-deep .el-upload { |
|
|
|
cursor: pointer; |
|
|
|
position: relative; |
|
|
|
overflow: hidden; |
|
|
|
} |
|
|
|
|
|
|
|
.el-upload:hover { |
|
|
|
border-color: #409EFF; |
|
|
|
border-color: #409eff; |
|
|
|
} |
|
|
|
|
|
|
|
.avatar { |
|
|
|