|
@ -139,6 +139,142 @@ |
|
|
|
|
|
|
|
|
</el-form> |
|
|
</el-form> |
|
|
|
|
|
|
|
|
|
|
|
<div v-show="formData.serviceStatus==='completed'"> |
|
|
|
|
|
<h3 class="d-h3">反馈内容</h3> |
|
|
|
|
|
|
|
|
|
|
|
<el-form ref="ref_form_feedback" |
|
|
|
|
|
:inline="true" |
|
|
|
|
|
:disabled="true" |
|
|
|
|
|
:model="feedbackFormData" |
|
|
|
|
|
class="div_form"> |
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="服务目标" |
|
|
|
|
|
prop="serviceGoal" |
|
|
|
|
|
label-width="150px" |
|
|
|
|
|
style="display: block"> |
|
|
|
|
|
<el-input class="item_width_1" |
|
|
|
|
|
type="textarea" |
|
|
|
|
|
maxlength="1000" |
|
|
|
|
|
show-word-limit |
|
|
|
|
|
:rows="3" |
|
|
|
|
|
placeholder="请输入服务目标,不超过1000字" |
|
|
|
|
|
v-model="feedbackFormData.serviceGoal"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="服务效果" |
|
|
|
|
|
prop="serviceEffect" |
|
|
|
|
|
label-width="150px" |
|
|
|
|
|
style="display: block"> |
|
|
|
|
|
<el-input class="item_width_1" |
|
|
|
|
|
type="textarea" |
|
|
|
|
|
maxlength="1000" |
|
|
|
|
|
show-word-limit |
|
|
|
|
|
:rows="3" |
|
|
|
|
|
placeholder="请输入服务效果,不超过1000字" |
|
|
|
|
|
v-model="feedbackFormData.serviceEffect"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="服务人数" |
|
|
|
|
|
style="display: block" |
|
|
|
|
|
prop="servicePeopleNumber" |
|
|
|
|
|
label-width="150px"> |
|
|
|
|
|
<el-input-number class="item_width_1" |
|
|
|
|
|
v-model="feedbackFormData.servicePeopleNumber" |
|
|
|
|
|
:min="0" |
|
|
|
|
|
:max="9999" |
|
|
|
|
|
label="服务人数"></el-input-number> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="服务状态" |
|
|
|
|
|
label-width="150px" |
|
|
|
|
|
prop="serviceStatus"> |
|
|
|
|
|
<span>已完成</span> |
|
|
|
|
|
<!-- <el-select class="item_width_1" |
|
|
|
|
|
v-model="feedbackFormData.serviceStatus" |
|
|
|
|
|
placeholder="全部" |
|
|
|
|
|
clearable> |
|
|
|
|
|
<el-option v-for="item in statusArray" |
|
|
|
|
|
:key="item.value" |
|
|
|
|
|
:label="item.label" |
|
|
|
|
|
:value="item.value"> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> --> |
|
|
|
|
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="满意度" |
|
|
|
|
|
label-width="150px" |
|
|
|
|
|
prop="satisfaction"> |
|
|
|
|
|
<el-select class="item_width_1" |
|
|
|
|
|
v-model="feedbackFormData.satisfaction" |
|
|
|
|
|
placeholder="全部" |
|
|
|
|
|
clearable> |
|
|
|
|
|
<el-option v-for="item in satisfyArray" |
|
|
|
|
|
:key="item.value" |
|
|
|
|
|
:label="item.label" |
|
|
|
|
|
:value="item.value"> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="地址" |
|
|
|
|
|
prop="address" |
|
|
|
|
|
label-width="150px" |
|
|
|
|
|
style="display: block"> |
|
|
|
|
|
<el-input class="item_width_1" |
|
|
|
|
|
v-model="feedbackFormData.address"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<!-- <el-form-item label="地图位置" |
|
|
|
|
|
label-width="150px" |
|
|
|
|
|
style="display: block"> |
|
|
|
|
|
<div style="width:500px"> |
|
|
|
|
|
|
|
|
|
|
|
<div class="div_map"> |
|
|
|
|
|
<div id="map_app"> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div_searchmap"> |
|
|
|
|
|
<el-input maxlength="50" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
placeholder="请输入关键字" |
|
|
|
|
|
v-model="keyWords"> |
|
|
|
|
|
</el-input> |
|
|
|
|
|
<el-button style="margin-left: 10px" |
|
|
|
|
|
type="primary" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
@click="handleSearchMap">查询</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
</el-form-item> --> |
|
|
|
|
|
|
|
|
|
|
|
<el-form-item class="block" |
|
|
|
|
|
label="附件" |
|
|
|
|
|
label-width="150px" |
|
|
|
|
|
prop="attach"> |
|
|
|
|
|
<!-- <el-upload v-if="feedbackFormData.attachmentList&&feedbackFormData.attachmentList.length>0" |
|
|
|
|
|
class="upload-demo" |
|
|
|
|
|
:on-preview="handleFileDownload" |
|
|
|
|
|
accept=".doc,.pdf,.xls,.docx,.xlsx,.jpg,.png,.jpeg,.bmp,.mp4,.wma,.m4a,.mp3" |
|
|
|
|
|
:limit="3" |
|
|
|
|
|
:file-list="fileList"> |
|
|
|
|
|
|
|
|
|
|
|
</el-upload> --> |
|
|
|
|
|
<div v-if="feedbackFormData.attachmentList&&feedbackFormData.attachmentList.length>0" |
|
|
|
|
|
class="attachement-list"> |
|
|
|
|
|
<a :href="att.attachmentUrl" |
|
|
|
|
|
target="_blank" |
|
|
|
|
|
:key="att.attachmentUrl" |
|
|
|
|
|
v-for="att in feedbackFormData.attachmentList"> |
|
|
|
|
|
<i class="el-icon-folder-opened"></i> |
|
|
|
|
|
{{ att.attachmentName }} |
|
|
|
|
|
</a> |
|
|
|
|
|
</div> |
|
|
|
|
|
<span v-else>无附件</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="div_btn"> |
|
|
<div class="div_btn"> |
|
@ -202,6 +338,20 @@ export default { |
|
|
longitude: 36.0722275, //经度 |
|
|
longitude: 36.0722275, //经度 |
|
|
latitude: 120.38945519 //纬度 |
|
|
latitude: 120.38945519 //纬度 |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
feedbackFormData: { |
|
|
|
|
|
serviceProjectId: '',// 服务项目id |
|
|
|
|
|
serviceProjectName: '', |
|
|
|
|
|
serviceGoal: '',// 服务目标 |
|
|
|
|
|
serviceEffect: '',// 服务效果 |
|
|
|
|
|
servicePeopleNumber: null,// 服务人数 |
|
|
|
|
|
serviceStatus: 'completed',// 服务状态。in_service服务中;completed:已完成 |
|
|
|
|
|
satisfaction: '',//满意度。不满意:bad、基本满意:good、非常满意:perfect |
|
|
|
|
|
longitude: '',// 经度 |
|
|
|
|
|
latitude: '',// 维度 |
|
|
|
|
|
address: '', |
|
|
|
|
|
attachmentList: [],// 附件列表 |
|
|
|
|
|
}, |
|
|
serviceList: [],//服务list |
|
|
serviceList: [],//服务list |
|
|
|
|
|
|
|
|
endPickerOptions: { |
|
|
endPickerOptions: { |
|
@ -211,18 +361,19 @@ export default { |
|
|
disabledDate: startDisabledDate |
|
|
disabledDate: startDisabledDate |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
projectList: [], |
|
|
projectList: [], |
|
|
|
|
|
fileList: [], |
|
|
|
|
|
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile', |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
components: {}, |
|
|
components: {}, |
|
|
mounted () { |
|
|
mounted () { |
|
|
if (this.serviceRecordId) {//详情 |
|
|
if (this.serviceRecordId) {//详情 |
|
|
this.loadInfo() |
|
|
this.loadInfo() |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
// this.initMap() |
|
|
// this.initMap() |
|
|
console.log('mounted') |
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -240,13 +391,26 @@ export default { |
|
|
if (code === 0) { |
|
|
if (code === 0) { |
|
|
this.formData = { ...data } |
|
|
this.formData = { ...data } |
|
|
this.formData.serviceRecordId = this.serviceRecordId |
|
|
this.formData.serviceRecordId = this.serviceRecordId |
|
|
|
|
|
this.feedbackFormData = { ...data.feedBack } |
|
|
|
|
|
this.feedbackFormData.servicePeopleNumber = this.formData.servicePeopleNumber |
|
|
|
|
|
this.fileList = [] |
|
|
|
|
|
if (data.feedBack.attachmentList && data.feedBack.attachmentList.length > 0) { |
|
|
|
|
|
data.feedBack.attachmentList.forEach(element => { |
|
|
|
|
|
let obj = { |
|
|
|
|
|
name: element.attachmentName, |
|
|
|
|
|
format: element.attachmentFormat, |
|
|
|
|
|
url: element.attachmentUrl, |
|
|
|
|
|
} |
|
|
|
|
|
this.fileList.push(obj) |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
} else { |
|
|
this.$message.error(msg) |
|
|
this.$message.error(msg) |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async handleComfirm () { |
|
|
async handleComfirm () { |
|
|
|
|
|
|
|
|
this.btnDisable = true |
|
|
this.btnDisable = true |
|
@ -303,6 +467,19 @@ export default { |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//下载 |
|
|
|
|
|
handleFileDownload (file) { |
|
|
|
|
|
|
|
|
|
|
|
var a = document.createElement('a'); |
|
|
|
|
|
var event = new MouseEvent('click'); |
|
|
|
|
|
a.download = file.name; |
|
|
|
|
|
console.log(a) |
|
|
|
|
|
a.href = file.url; |
|
|
|
|
|
a.dispatchEvent(event); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// 地图初始化函数,本例取名为init,开发者可根据实际情况定义 |
|
|
// 地图初始化函数,本例取名为init,开发者可根据实际情况定义 |
|
|
initMap () { |
|
|
initMap () { |
|
|
// 定义地图中心点坐标 |
|
|
// 定义地图中心点坐标 |
|
@ -485,7 +662,13 @@ export default { |
|
|
default () { |
|
|
default () { |
|
|
return [] |
|
|
return [] |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
|
|
|
satisfyArray: { |
|
|
|
|
|
type: Array, |
|
|
|
|
|
default () { |
|
|
|
|
|
return [] |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
</script> |
|
|
</script> |
|
@ -493,4 +676,18 @@ export default { |
|
|
|
|
|
|
|
|
<style lang="scss" scoped > |
|
|
<style lang="scss" scoped > |
|
|
@import "@/assets/scss/modules/management/form-main.scss"; |
|
|
@import "@/assets/scss/modules/management/form-main.scss"; |
|
|
|
|
|
|
|
|
|
|
|
.attachement-list { |
|
|
|
|
|
// padding-left: 20px; |
|
|
|
|
|
a { |
|
|
|
|
|
display: block; |
|
|
|
|
|
cursor: pointer; |
|
|
|
|
|
// color: #4df0ff; |
|
|
|
|
|
font-size: 14px; |
|
|
|
|
|
|
|
|
|
|
|
i { |
|
|
|
|
|
color: #333; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |
|
|