diff --git a/src/App.vue b/src/App.vue
index 158abd1..8ca7e83 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -18,7 +18,7 @@ export default {
}
.van-dialog__content {
- padding: 10px;
+ padding: 10px 15px;
box-sizing: border-box;
}
diff --git a/src/api/basic.js b/src/api/basic.js
new file mode 100644
index 0000000..4314f68
--- /dev/null
+++ b/src/api/basic.js
@@ -0,0 +1,13 @@
+import api from './index'
+import request from '@/utils/request'
+export function uploadvariedfile(file) {
+ var files = new File([file], new Date().getTime() + file.name)
+ const data = new FormData()
+ data.append('file', files)
+ return request({
+ url: api.Uploadvariedfile,
+ hideloading: true,
+ method: 'post',
+ data
+ })
+ }
\ No newline at end of file
diff --git a/src/api/index.js b/src/api/index.js
index 0751136..726e52b 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -12,7 +12,9 @@ const api = {
receiveService: '/governance/service/rcvAndProcess/receive',
serviceScopeTree :'/gov/org/icServiceProject/service/serviceScopeTree',
ServiceConfirm: '/governance/service/rcvAndProcess/confirm',
- ServiceComplete: '/governance/service/rcvAndProcess/complete'
+ ServiceComplete: '/governance/service/rcvAndProcess/complete',
+ Uploadvariedfile: '/oss/file/uploadvariedfile',
+ SearchResis: '/governance/service/rcvAndProcess/searchResis/detail'
}
export default api
diff --git a/src/api/service.js b/src/api/service.js
index 46806ec..5d6f56b 100644
--- a/src/api/service.js
+++ b/src/api/service.js
@@ -80,6 +80,12 @@ export function serviceComplete(data) {
data
})
}
-
-
+//各种找人详情
+export function getSearchResis(params) {
+ return request({
+ url: api.SearchResis,
+ method: 'get',
+ params
+ })
+}
diff --git a/src/assets/css/common.less b/src/assets/css/common.less
index d280fe8..53da871 100644
--- a/src/assets/css/common.less
+++ b/src/assets/css/common.less
@@ -1,3 +1,4 @@
+@import "../fonts/index.css";
.flex {
display: flex;
}
@@ -123,5 +124,18 @@
}
.font-bold{
font-weight: bold;
+}
+.font-pingfangB{
+ font-family: pingfang-bold;
-}
\ No newline at end of file
+}
+.required{
+ position: relative;
+}
+.required::after{
+ content: '*';
+ position: absolute;
+ left: -10px;
+ top: 0;
+ color: red;
+}
diff --git a/src/assets/fonts/index.css b/src/assets/fonts/index.css
new file mode 100644
index 0000000..6eaff51
--- /dev/null
+++ b/src/assets/fonts/index.css
@@ -0,0 +1,17 @@
+@font-face {
+ font-family: 'pingfang-bold';
+ src: url('pingfang-bold.ttf');
+ src:url('pingfang-bold.ttf') format('truetype');
+ font-weight: normal;
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: 'pingfang-ordinary';
+ src: url('pingfang-ordinary.ttf');
+ src:url('pingfang-ordinary.ttf') format('truetype');
+ font-weight: normal;
+ font-style: normal;
+ font-display: swap;
+}
+
diff --git a/src/assets/fonts/pingfang-black.ttf b/src/assets/fonts/pingfang-black.ttf
new file mode 100644
index 0000000..d030018
Binary files /dev/null and b/src/assets/fonts/pingfang-black.ttf differ
diff --git a/src/assets/fonts/pingfang-bold.ttf b/src/assets/fonts/pingfang-bold.ttf
new file mode 100644
index 0000000..4f2319d
Binary files /dev/null and b/src/assets/fonts/pingfang-bold.ttf differ
diff --git a/src/assets/fonts/pingfang-ordinary.ttf b/src/assets/fonts/pingfang-ordinary.ttf
new file mode 100644
index 0000000..b31eb2a
Binary files /dev/null and b/src/assets/fonts/pingfang-ordinary.ttf differ
diff --git a/src/utils/request.js b/src/utils/request.js
index 0cdcf52..1ac7920 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -15,6 +15,10 @@ const service = axios.create({
// request拦截器 request interceptor
service.interceptors.request.use(
config => {
+ if (!config.hideloading) {
+ // loading
+ Tips.loading(config.message)
+ }
config.headers['source'] = process.env.NODE_ENV !== 'production' ? 'dev' : 'prod'
config.headers.client = 'web'
config.headers.app = 'gov'
@@ -23,7 +27,6 @@ service.interceptors.request.use(
config.headers['Authorization'] = localStorage.getItem('token')
}
config.baseURL = config.baseURL + '/'
- Tips.loading()
return config
},
error => {
diff --git a/src/views/assistance/card.vue b/src/views/assistance/card.vue
index 3b02705..454a48c 100644
--- a/src/views/assistance/card.vue
+++ b/src/views/assistance/card.vue
@@ -8,7 +8,7 @@
{{ item.categoryName }}
-
+
{{ item.title || '--' }}
@@ -30,11 +30,11 @@

-
{{ item.summary }}
+
{{ item.summary||'--' }}
-
+
接单
联系需求人
diff --git a/src/views/assistance/index.vue b/src/views/assistance/index.vue
index 9b7ec1f..b00ac6a 100644
--- a/src/views/assistance/index.vue
+++ b/src/views/assistance/index.vue
@@ -44,6 +44,23 @@
{{ actualServiceStartTime || '服务开始时间'
}}至{{ actualServiceEndTime || '服务结束时间' }}
+
完成情况
+
+ 已解决
+ 未解决
+
+
上传图片
+
+
+
+
+
+
评价
+
+
备注
+
+
import card from './card.vue'
import throttle from 'lodash/debounce'
-import { getServiceListRcv, getServiceListProcess, getServiceListCompleted, getCommonalityDetail, getMeasureDetail, getListMyIdentities, receiveService, getServiceScopeTree, serviceConfirm, serviceComplete } from '@/api/service'
+import { getServiceListRcv, getServiceListProcess, getServiceListCompleted, getCommonalityDetail, getMeasureDetail, getListMyIdentities, receiveService, getServiceScopeTree, serviceConfirm, serviceComplete,getSearchResis } from '@/api/service'
+import { uploadvariedfile } from '@/api/basic'
import { Dialog } from 'vant';
export default {
@@ -92,7 +110,11 @@ export default {
showComplete:false,
actualServiceStartTime:null,//服务开始时间
actualServiceEndTime:null,//服务结束时间
- selfObj:{}
+ selfObj:{},
+ rdFinishResult: null,//是否解决
+ rdScore: 5,//评分
+ fileList: [],//图片上传
+ rdFinishDesc: null,//备注
};
},
created() {
@@ -108,12 +130,27 @@ export default {
})
},
methods: {
+ afterRead(file) {
+ file.status = 'uploading'
+ file.message = '上传中...'
+ uploadvariedfile(file.file)
+ .then(res => {
+ file.status = ''
+ file.message = '上传成功'
+ file.url = res.data.url
+ console.log(this.fileList)
+ })
+ .catch(() => {
+ file.status = 'failed'
+ file.message = '上传失败'
+ })
+ },
handelServiceComplete(item) {
- if(item.source === 1){
+ if(item.source != 4){
Dialog.confirm({
message: `确定已完成“${item.title}”服务吗?`,
}).then( () => {
- this.serviceComplete(item.source,item.id)
+ this.serviceComplete(item)
}).catch(() => {
})
}else if(item.source === 4){
@@ -122,7 +159,6 @@ export default {
}
},
onBeforeClose(action, done) {
- // 点击了确定按钮
if (action === "confirm") {
if (this.selfObj.source === 4) {
if (!this.actualServiceStartTime) {
@@ -133,7 +169,25 @@ export default {
this.$tips.warning('请选择服务结束时间')
return done(false)
}
- this.serviceComplete(this.selfObj.source, this.selfObj.id, this.actualServiceStartTime, this.actualServiceEndTime)
+ if (!this.rdScore) {
+ this.$tips.warning('请进行评价')
+ return done(false)
+ }
+ if (!this.rdFinishResult) {
+ this.$tips.warning('请选择完成情况')
+ return done(false)
+ }
+ let parm = {
+ source: this.selfObj.source,
+ id: this.selfObj.id,
+ actualServiceStartTime: this.actualServiceStartTime,
+ actualServiceEndTime: this.actualServiceEndTime,
+ rdScore: this.rdScore,
+ rdFinishResult: this.rdFinishResult,
+ rdFinishAttachments: this.fileList.map(item => ({ originFileName: item.file.name, type: item.file.type, format: 'image', url: item.url })),
+ rdFinishDesc: this.rdFinishDesc
+ }
+ this.serviceComplete(parm)
done(true)
}
@@ -142,23 +196,21 @@ export default {
done(true);
}
},
- async serviceComplete(source,id,actualServiceStartTime,actualServiceEndTime){
- let { code } = await serviceComplete({ source, id, actualServiceStartTime, actualServiceEndTime})
- if (code === 0) {
- this.$toast.success('服务完成')
- this.pageNo = 1;
- this.requestFlag = true;
- this.list = [];
- this.getTableData();
- }
+ async serviceComplete(parm) {
+ let { code } = await serviceComplete(parm)
+ if (code === 0) {
+ this.$tips.success('服务完成')
+ }
},
async handelTodetail(item) {
this.serverId = item.id;
if (item.source === 4) {
await this.getMeasureDetail()
- } else {
+ } else if(item.source === 1){
await this.getCommonalityDetail()
+ }else {
+ await this.getSearchResis()
}
this.$router.push({ name: 'assistanceDetail', params: { detail: this.formData, selfObj: item } })
},
@@ -205,7 +257,7 @@ export default {
console.log(parm);
let { data, code, msg } = await receiveService(parm)
if (code === 0) {
- this.$toast.success('接单成功')
+ this.$tips.success('接单成功')
this.showRole = false;
this.showScope = false;
this.pageNo = 1;
@@ -233,7 +285,8 @@ export default {
async handelServiceConfirm(val) {
let { data, code, msg } = await serviceConfirm({ id: val.id })
if (code === 0) {
- this.$toast.success('确认成功')
+ this.$tips.success('确认成功')
+ this.requestFlag = true;
this.pageNo = 1;
this.list = [];
this.getTableData();
@@ -257,6 +310,12 @@ export default {
this.formData = data;
}
},
+ async getSearchResis() {
+ let { data, code, msg } = await getSearchResis({ id: this.serverId })
+ if (code === 0) {
+ this.formData = data;
+ }
+ },
async getServiceScopeTree() {
let { data, code, msg } = await getServiceScopeTree({ id: this.serverId })
if (code === 0) {
diff --git a/src/views/assistanceDetail/index.vue b/src/views/assistanceDetail/index.vue
index b38b7c0..15164a8 100644
--- a/src/views/assistanceDetail/index.vue
+++ b/src/views/assistanceDetail/index.vue
@@ -2,7 +2,7 @@
-
+
{{ this.detail.title || '--' }}
@@ -10,11 +10,13 @@
{{ detail.serviceTargetName || '--' }} {{ detail.serviceTargetMobile }}
-
{{ detail.serviceTargetAddress }}
+
{{
+ detail.serviceTargetAddress }}
-
{{ detail.serviceTargetAddresses.join(',') }}
+
{{
+ detail.serviceTargetAddresses.join(',') }}
-
+
{{ detail.serviceStartTime || '--' }}
@@ -22,8 +24,8 @@

-
- {{ detail.serviceTimeStart || '--' }} 至 {{detail.serviceTimeEnd || '--'}}
+
+ {{ detail.serviceTimeStart || '--' }} 至 {{ detail.serviceTimeEnd || '--' }}
@@ -37,13 +39,23 @@
-
+
-
-
-
-
+ v-if="selfObj.source == 4" />
+
+
+
+
+
+
+
+
+
+
@@ -51,9 +63,9 @@
接单
+ v-if="selfObj.processStatus === 10 && selfObj.source !== 4" @click="showScope = true">接单
完成服务
- 服务开始时间
+ 服务开始时间
{{ actualServiceStartTime || '服务开始时间'
}}至{{ actualServiceEndTime || '服务结束时间' }}
- 完成情况
+ 完成情况
已解决
未解决
- 评价
-
+ 上传图片
+
+
+
+
+
+ 评价
+
+ 备注
+
+
import { receiveService, getListMyIdentities, getServiceScopeTree, serviceComplete, serviceConfirm } from '@/api/service'
+import { uploadvariedfile } from '@/api/basic'
import { Dialog } from 'vant';
export default {
data() {
@@ -132,9 +149,11 @@ export default {
showRole: false,
actualServiceStartTime: null,//实际完成时间
actualServiceEndTime: null,//实际完成时间
- showComplete: false,
- rdFinishResult:null,
- rdScore:5
+ showComplete: false,//完成弹框
+ rdFinishResult: null,//是否解决
+ rdScore: 5,//评分
+ fileList: [],//图片上传
+ rdFinishDesc: null,//备注
};
},
created() {
@@ -149,6 +168,21 @@ export default {
this.sourceName = this.typeList[this.source]
},
methods: {
+ afterRead(file) {
+ file.status = 'uploading'
+ file.message = '上传中...'
+ uploadvariedfile(file.file)
+ .then(res => {
+ file.status = ''
+ file.message = '上传成功'
+ file.url = res.data.url
+ console.log(this.fileList)
+ })
+ .catch(() => {
+ file.status = 'failed'
+ file.message = '上传失败'
+ })
+ },
async confirmService() {
let { data, code, msg } = await serviceConfirm({ id: this.id })
if (code === 0) {
@@ -166,10 +200,27 @@ export default {
this.$tips.warning('请选择服务结束时间')
return done(false)
}
- this.serviceComplete(this.selfObj.source, this.selfObj.id, this.actualServiceStartTime, this.actualServiceEndTime)
+ if (!this.rdScore) {
+ this.$tips.warning('请进行评价')
+ return done(false)
+ }
+ if (!this.rdFinishResult) {
+ this.$tips.warning('请选择完成情况')
+ return done(false)
+ }
+ let parm = {
+ source: this.selfObj.source,
+ id: this.selfObj.id,
+ actualServiceStartTime: this.actualServiceStartTime,
+ actualServiceEndTime: this.actualServiceEndTime,
+ rdScore: this.rdScore,
+ rdFinishResult: this.rdFinishResult,
+ rdFinishAttachments: this.fileList.map(item => ({ originFileName: item.file.name, type: item.file.type, format: 'image', url: item.url })),
+ rdFinishDesc: this.rdFinishDesc
+ }
+ this.serviceComplete(parm)
done(true)
}
-
}
// 点击了取消按钮
else {
@@ -178,19 +229,19 @@ export default {
},
handelClickComplete() {
- if (this.selfObj.source === 1) {
+ if (this.selfObj.source != 4) {
Dialog.confirm({
- message: `确定已完成${this.detail.title}服务吗?`,
+ message: `确定已完成“${this.detail.title}”服务吗?`,
}).then(() => {
- this.serviceComplete(this.selfObj.source, this.selfObj.id)
+ this.serviceComplete(this.selfObj)
}).catch(() => {
});
}
},
- async serviceComplete(source, id, actualServiceStartTime, actualServiceEndTime) {
- let { code } = await serviceComplete({ source, id, actualServiceStartTime, actualServiceEndTime })
+ async serviceComplete(parm) {
+ let { code } = await serviceComplete(parm)
if (code === 0) {
- this.$toast.success('服务完成')
+ this.$tips.success('服务完成')
this.$router.go(-1)
}
},
@@ -222,7 +273,7 @@ export default {
console.log(parm);
let { data, code, msg } = await receiveService(parm)
if (code === 0) {
- this.$toast.success('接单成功')
+ this.$tips.success('接单成功')
this.showRole = false;
this.showScope = false;
this.$router.back()
diff --git a/src/views/mine/changePassword.vue b/src/views/mine/changePassword.vue
index 61d3991..d5fc717 100644
--- a/src/views/mine/changePassword.vue
+++ b/src/views/mine/changePassword.vue
@@ -106,7 +106,7 @@ export default {
let { data, code, msg } = response;
if(code === 0){
console.log('data111');
- this.$toast('修改成功!请重新登录');
+ this.$tips('修改成功!请重新登录');
this.$router.replace({name:'login'})
}
}).catch(error => {