11 changed files with 247 additions and 32 deletions
@ -1,4 +1,5 @@ |
|||||
NODE_ENV='production' |
NODE_ENV='production' |
||||
# must start with VUE_APP_ |
# must start with VUE_APP_ |
||||
VUE_APP_ENV = 'staging' |
VUE_APP_ENV = 'staging' |
||||
|
outputDir = 'epmet-work-h5-staging' |
||||
|
|
||||
|
Binary file not shown.
@ -1,8 +1,8 @@ |
|||||
module.exports = { |
module.exports = { |
||||
env: 'staging', |
env: 'staging', |
||||
title: 'e联社区', |
title: 'e联社区', |
||||
baseUrl: 'https://test.xxx.com', // 测试项目地址
|
baseUrl: 'http://192.168.1.144', // 测试项目地址
|
||||
baseApi: 'https://test.xxx.com/api', // 测试api请求地址
|
baseApi: 'http://192.168.1.144/api', // 测试api请求地址
|
||||
APPID: 'xxx', |
APPID: 'xxx', |
||||
APPSECRET: 'xxx', |
APPSECRET: 'xxx', |
||||
} |
} |
||||
|
@ -0,0 +1,174 @@ |
|||||
|
<template> |
||||
|
<div class='pages'> |
||||
|
<section> |
||||
|
<div class="card m-top12"> |
||||
|
<div class="m-top5 flex flex-center"> |
||||
|
<img src="@/assets/images/icon/address.png" class="small_img m-right7"> |
||||
|
{{ detail.serviceTargetName || '--' }} {{ detail.serviceTargetMobile }}<br> |
||||
|
</div> |
||||
|
<div class="opacity5 font-size13 m-top5" style="margin-left: 29px;">{{ detail.serviceTargetAddress }} |
||||
|
</div> |
||||
|
<div class="m-top5 flex flex-center"> |
||||
|
<img src="@/assets/images/icon/time.png" class="small_img m-right7"> |
||||
|
<div> |
||||
|
{{ detail.serviceStartTime || '--' }} |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="m-top5 "> |
||||
|
<div class="flex flex-center3"> |
||||
|
<img src="@/assets/images/icon/content.png" style="vertical-align: top;" |
||||
|
class="small_img m-right7"> |
||||
|
<div class="van-multi-ellipsis--l2">{{ detail.content }}</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="card m-top12" style="padding: 5px;"> |
||||
|
<van-cell title="服务类型" :value="sourceName" /> |
||||
|
<van-cell title="需求分类" :value="detail.categoryName" /> |
||||
|
<van-cell title="上报人" :value="detail.serviceTargetName + detail.serviceTargetMobile" /> |
||||
|
<van-cell title="上报时间" :value="detail.reportTime" /> |
||||
|
</div> |
||||
|
</section> |
||||
|
<div class="bto_btn"> |
||||
|
<van-button size="small" type="info" class="m-left12 rounded-corner m-top5-bottom" v-if="selfObj.processStatus === 10" @click="showRole = true">接单</van-button> |
||||
|
</div> |
||||
|
<van-dialog v-model="showRole" title="请选择接单身份" show-cancel-button @confirm="receiveService"> |
||||
|
<van-radio-group v-model="serviceOrgType"> |
||||
|
<van-radio :name="item.serviceOrgType" v-for="(item) in roleList" :key="item.id" |
||||
|
@click="handelChangeRole(item.serviceOrgId)">{{ item.serviceOrgName |
||||
|
}}</van-radio> |
||||
|
</van-radio-group> |
||||
|
</van-dialog> |
||||
|
<van-dialog v-model="showScope" title="" show-cancel-button @confirm="receiveService"> |
||||
|
<p>服务时间</p> |
||||
|
<span @click="showStart = true, showPopup = true" class="font-size13">{{ serviceTimeStart || '开始时间' |
||||
|
}}</span><span class="tag-date">至</span><span @click="showEnd = true, showPopup = true" |
||||
|
class="font-size13">{{ serviceTimeEnd || '结束时间' }}</span> |
||||
|
<p>服务范围</p> |
||||
|
<span class="font-size13" @click="showTree = true, showPopup = true">{{ serviceScopeName || '请选择范围' |
||||
|
}}</span> |
||||
|
<p>接单身份</p> |
||||
|
<van-radio-group v-model="serviceOrgType"> |
||||
|
<van-radio :name="item.serviceOrgType" v-for="(item) in roleList" :key="item.id" |
||||
|
@click="handelChangeRole(item.serviceOrgId)">{{ item.serviceOrgName |
||||
|
}}</van-radio> |
||||
|
</van-radio-group> |
||||
|
</van-dialog> |
||||
|
<van-popup v-model="showPopup" position="bottom"> |
||||
|
<van-datetime-picker v-if="showStart" v-model="serviceTimeStart" type="datetime" title="开始时间" |
||||
|
@confirm="handelCLickConfirmStart" @cancel="showPopup = false" :min-date="minDate" /> |
||||
|
<van-datetime-picker v-if="showEnd" v-model="serviceTimeEnd" @confirm="handelCLickConfirmEnd" |
||||
|
@cancel="showPopup = false" type="datetime" title="结束时间" :min-date="minDate" /> |
||||
|
<van-cascader v-if="showTree" v-model="cascaderValue" title="请选择范围" :options="treeOptions" |
||||
|
@close="showTree = false, showPopup = false" @finish="onFinish" |
||||
|
:field-names="{ text: 'objectName', value: 'objectId' }" /> |
||||
|
</van-popup> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import {receiveService,getListMyIdentities,getServiceScopeTree } from '@/api/service' |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
detail: null, |
||||
|
typeList:['公共服务','共性需求','政策找人','服务找人','个性需求','温暖找人','技能找人','岗位找人'], |
||||
|
id:null, |
||||
|
showPopup: false, |
||||
|
showStart: false, |
||||
|
showEnd: false, |
||||
|
showTree: false, |
||||
|
showScope: false, |
||||
|
minDate: new Date(), |
||||
|
treeOptions: null, |
||||
|
cascaderValue: null, |
||||
|
serviceScopeName: null, |
||||
|
serviceTimeStart: null, |
||||
|
serviceTimeEnd: null, |
||||
|
roleList: [], |
||||
|
serviceOrgType: null, |
||||
|
serviceOrgId: null, |
||||
|
showRole: false, |
||||
|
|
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getListMyIdentities() |
||||
|
this.getServiceScopeTree() |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.detail = this.$route.params.detail; |
||||
|
this.selfObj = this.$route.params.selfObj; |
||||
|
this.source = this.selfObj.source; |
||||
|
this.id = this.selfObj.id; |
||||
|
this.sourceName = this.typeList[this.source] |
||||
|
}, |
||||
|
methods: { |
||||
|
handelChangeRole(val) { |
||||
|
this.serviceOrgId = val; |
||||
|
}, |
||||
|
onFinish(value) { |
||||
|
this.showTree = false; |
||||
|
this.showPopup = false; |
||||
|
this.serviceScopeList = value.selectedOptions.map(item => ({ objectType: item.objectType, objectId: item.objectId, objectName: item.objectName })) |
||||
|
this.serviceScopeName = value.selectedOptions.map(item => item.objectName).join('-') |
||||
|
}, |
||||
|
//提交接单 |
||||
|
async receiveService() { |
||||
|
let parm = { |
||||
|
...this.selfObj, |
||||
|
id: this.id, |
||||
|
} |
||||
|
if (this.showScope) { |
||||
|
parm.serviceScopeList = this.serviceScopeList; |
||||
|
parm.serviceTimeStart = this.serviceTimeStart; |
||||
|
parm.serviceTimeEnd = this.serviceTimeEnd; |
||||
|
parm.serviceOrgType = this.serviceOrgType; |
||||
|
parm.serviceOrgId = this.serviceOrgId; |
||||
|
} else if (this.showRole) { |
||||
|
parm.serviceOrgType = this.serviceOrgType; |
||||
|
parm.serviceOrgId = this.serviceOrgId; |
||||
|
} |
||||
|
console.log(parm); |
||||
|
let { data, code, msg } = await receiveService(parm) |
||||
|
if (code === 0) { |
||||
|
this.$toast.success('接单成功') |
||||
|
this.showRole = false; |
||||
|
this.showScope = false; |
||||
|
this.$router.back() |
||||
|
} |
||||
|
}, |
||||
|
async getListMyIdentities() { |
||||
|
let { data, code, msg } = await getListMyIdentities() |
||||
|
if (code === 0) { |
||||
|
this.roleList = data; |
||||
|
} |
||||
|
}, |
||||
|
async getServiceScopeTree() { |
||||
|
let { data, code, msg } = await getServiceScopeTree({ id: this.serverId }) |
||||
|
if (code === 0) { |
||||
|
this.treeOptions = [data]; |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
components: {}, |
||||
|
computed: {}, |
||||
|
watch: {}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang='less' scoped> |
||||
|
.pages{ |
||||
|
padding: 0 10px; |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
:deep(.van-cell__value){ |
||||
|
text-align:left; |
||||
|
} |
||||
|
:deep(.van-cell__title){ |
||||
|
max-width: 80px; |
||||
|
} |
||||
|
:deep(.van-button--small){ |
||||
|
padding: 12px 30px; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue