diff --git a/src/views/modules/communityService/fuwujilu/addForm.vue b/src/views/modules/communityService/fuwujilu/addForm.vue index 8cb7c9c7e..45bb12bcf 100644 --- a/src/views/modules/communityService/fuwujilu/addForm.vue +++ b/src/views/modules/communityService/fuwujilu/addForm.vue @@ -8,61 +8,48 @@ :model="formData" :rules="dataRule" class="div_form"> + + + + - - + - + - - - - - - - - - - - - + + + + + + + + - - {{feedbackFormData.serviceProjectName}} - -- - - - - 已完成 @@ -210,9 +205,10 @@ - @@ -337,10 +333,11 @@ export default { keyWords: '', formData: { - serviceCategoryKey: '',//服务分类id - serviceProjectId: '',//服务项目id - serviceOrgId: '',//服务组织id - serviceScope: [],// + serviceName: '',//服务名称 + serviceOrgType: '',//服务组织类型 社区自组织:community_org, 志愿者:ic_user_volunteer, 联建单位:party_unit + serviceOrgId: '',//服务组织Id + objList: [],// + policyId: '', principalName: '',//经办人(责任人)姓名 principalContact: '',//经办人联系方式 serviceTimeStart: '',//服务起始时间yyyy-MM-dd @@ -350,8 +347,6 @@ export default { }, feedbackFormData: { - serviceProjectId: '',// 服务项目id - serviceProjectName: '', serviceGoal: '',// 服务目标 serviceEffect: '',// 服务效果 servicePeopleNumber: null,// 服务人数 @@ -360,11 +355,9 @@ export default { longitude: '',// 经度 latitude: '',// 维度 address: '', - attachmentList: [],// 附件列表 + fileList: [],// 附件列表 }, - projectList: [],//服务项目list - orgList: [],//服务组织list endPickerOptions: { disabledDate: endDisabledDate @@ -374,7 +367,9 @@ export default { }, showFeedback: true, - + serviceOptions: [], + serviceOptiondList: [], + policyList: [], fileList: [], uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile', @@ -395,12 +390,14 @@ export default { async mounted () { this.startLoading() this.initMap() + this.getDictOptions(); + this.getPolicyList(); this.$refs.ref_form_feedback.resetFields(); if (this.formType === 'add') { this.$refs.ref_form.resetFields(); await this.loadScopeTree() } else { - this.$set(this.feedbackFormData, 'serviceProjectName', this.serviceProjectName) + } @@ -410,24 +407,69 @@ export default { methods: { + async getPolicyList () { + const url = '/heart/policy/policyListSelect' + + let params = {} + + const { data, code, msg } = await requestPost(url, params) + + if (code === 0) { + this.policyList = data + } else { + this.$message.error(msg) + } + }, + async getDictOptions () { + this.$http + .post("/sys/dict/data/dictlist", { + dictType: "user_demand_service_type", + }) + .then(({ data: res }) => { + if (res.code !== 0) { + return this.$message.error(res.msg); + } else { + this.serviceOptions = res.data; + } + }) + .catch(() => { + return this.$message.error("网络错误"); + }); + }, + handleServiceChange (type, val) { + if (val === "social_org") { + if (type === "add") this.getServiceuserList(val, "add_demand"); + else this.getServiceuserList(val, "query_demand"); + } else this.getServiceuserList(val, ""); + }, + + async getServiceuserList (serviceType, query) { + if (!serviceType) return false; + + const params = { + serviceName: "", + serviceType: serviceType, + queryPurpose: query, + }; + await this.$http + .post("/heart/userdemand/servicelist", params) + .then(({ data: res }) => { + if (res.code !== 0) { + return this.$message.error(res.msg); + } else { + this.serviceOptiondList = res.data + } + }) + .catch(() => { + return this.$message.error("网络错误"); + }); + }, handleChangeFeedback (val) { this.showFeedback = val }, - hancleClickCategray () { - this.formData.serviceProjectId = '' - this.formData.serviceOrgId = '' - //获取服务项目 - this.loadProjectList() - //获取服务组织 - this.loadOrgList() - }, - hancleClickProject (index) { - this.feedbackFormData.serviceProjectId = this.projectList[index].serviceProjectId - this.feedbackFormData.serviceProjectName = this.projectList[index].serviceName - }, // 获取服务范围树 loadScopeTree () { @@ -455,7 +497,7 @@ export default { handleChangeScope (value) { - this.formData.serviceScope = [] + this.formData.objList = [] let selArray = this.$refs["myCascader"].getCheckedNodes() selArray.forEach(element => { @@ -464,46 +506,12 @@ export default { objectId: element.data.objectId, objectName: element.data.objectName, } - this.formData.serviceScope.push(obj) + this.formData.objList.push(obj) }); }, - //加载组织 - async loadProjectList () { - const url = '/heart/icServiceProject/serviceProjectList' - // const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/serviceProjectList' - let params = { - isPage: false, - serviceCategoryKey: this.formData.serviceCategoryKey, - } - - const { data, code, msg } = await requestPost(url, params) - - if (code === 0) { - this.projectList = [...data.list] - } else { - this.$message.error(msg) - } - }, - - //加载组织 - async loadOrgList () { - const url = '/heart/icServiceOrg/selectlist' - // const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceOrg/selectlist' - let params = { - serviceType: this.formData.serviceCategoryKey, - } - - const { data, code, msg } = await requestPost(url, params) - - if (code === 0) { - this.orgList = data - } else { - this.$message.error(msg) - } - }, async handleComfirm () { @@ -551,8 +559,8 @@ export default { async addFuwu () { if (this.showFeedback) { - this.feedbackFormData.attachmentList = [] - this.feedbackFormData.attachmentList = [...this.fileList] + this.feedbackFormData.fileList = [] + this.feedbackFormData.fileList = [...this.fileList] this.formData.feedback = { ... this.feedbackFormData } } else { this.formData.feedback = null @@ -572,7 +580,7 @@ export default { } - const url = '/heart/icServiceProject/service/initiate' + const url = '/heart/icServiceRecordV2/add' // const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/initiate' let params = { @@ -589,6 +597,7 @@ export default { this.$message.error(msg) } }, + async handleFeedback () { this.btnDisable = true @@ -612,15 +621,15 @@ export default { async addFeecback () { - this.feedbackFormData.attachmentList = [] - this.feedbackFormData.attachmentList = [...this.fileList] + this.feedbackFormData.fileList = [] + this.feedbackFormData.fileList = [...this.fileList] this.feedbackFormData.serviceRecordId = this.serviceRecordId console.log(this.feedbackFormData) // return false - const url = '/heart/icServiceProject/service/feedback' - // const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/initiate' + const url = '/heart/icServiceFeedbackV2/add' + let params = { ...this.feedbackFormData @@ -629,7 +638,7 @@ export default { const { data, code, msg } = await requestPost(url, params) if (code === 0) { - this.$message.success('发起成功') + this.$message.success('反馈成功') this.resetData() this.$emit('handleOk') } else { @@ -669,21 +678,21 @@ export default { const mp3Array = ['mp3'] if (picArray.indexOf(fileType) > -1) { - file.attachmentFormat = 'image' + file.format = 'image' } else if (videoarray.indexOf(fileType) > -1) { - file.attachmentFormat = 'video' + file.format = 'video' } else if (docArray.indexOf(fileType) > -1) { - file.attachmentFormat = 'doc' + file.format = 'doc' } else if (mp3Array.indexOf(fileType) > -1) { - file.attachmentFormat = 'voice' + file.format = 'voice' } file.url = res.data.url file.type = fileType - file.attachmentName = file.name - file.attachmentType = file.type - file.attachmentUrl = file.url + file.name = file.name + file.type = file.type + file.url = file.url this.fileList.push(file) console.log(this.fileList) @@ -823,10 +832,8 @@ export default { resetData () { this.formData = { - serviceCategoryKey: '',//服务分类id - serviceProjectId: '',//服务项目id - serviceOrgId: '',//服务组织id - serviceScope: [],// + + objList: [],// principalName: '',//经办人(责任人)姓名 principalContact: '',//经办人联系方式 serviceTimeStart: '',//服务起始时间yyyy-MM-dd @@ -836,8 +843,8 @@ export default { } this.feedbackFormData = { - serviceProjectId: '',// 服务项目id - serviceProjectName: '', + + serviceGoal: '',// 服务目标 serviceEffect: '',// 服务效果 servicePeopleNumber: null,// 服务人数 @@ -846,7 +853,7 @@ export default { longitude: '',// 经度 latitude: '',// 维度 address: '', - attachmentList: [],// 附件列表 + fileList: [],// 附件列表 } }, // 开启加载动画 @@ -869,21 +876,19 @@ export default { dataRule () { return { - serviceCategoryKey: [ - { required: true, message: '服务类别不能为空', trigger: 'blur' }, - ], - serviceProjectId: [ - { required: true, message: '服务项目不能为空', trigger: 'blur' } - ], + serviceName: [ + { required: true, message: '服务名称不能为空', trigger: 'change' } + ], serviceOrgId: [ - { required: true, message: '服务组织不能为空', trigger: 'blur' } + { required: true, message: '服务组织不能为空', trigger: 'change' } ], + serviceTimeStart: [ - { required: true, message: '服务时间不能为空', trigger: 'blur' } + { required: true, message: '服务时间不能为空', trigger: 'change' } ], - serviceScope: [ - { required: true, message: '服务范围不能为空', trigger: 'blur' } + objList: [ + { required: true, message: '服务范围不能为空', trigger: 'change' } ], } @@ -891,9 +896,7 @@ export default { feedbackDataRule () { return { - serviceProjectName: [ - { required: true, message: '服务项目不能为空', trigger: 'blur' }, - ], + serviceGoal: [ { required: true, message: '服务目标不能为空', trigger: 'blur' } ], diff --git a/src/views/modules/communityService/fuwujilu/detailForm.vue b/src/views/modules/communityService/fuwujilu/detailForm.vue index 6125199cc..652b399a1 100644 --- a/src/views/modules/communityService/fuwujilu/detailForm.vue +++ b/src/views/modules/communityService/fuwujilu/detailForm.vue @@ -9,29 +9,11 @@ :rules="dataRule" class="div_form"> - - {{formData.serviceCategoryName}} - - - - - - {{formData.serviceProjectName}} + {{formData.serviceName}} + + + + + + + @@ -97,7 +95,7 @@ label-width="150px" style="display: block"> @@ -178,7 +176,7 @@ style="display: block" prop="servicePeopleNumber" label-width="150px"> - 已完成 - 无附件 @@ -326,22 +326,11 @@ export default { btnDisable: false, keyWords: '', - formData: { - unitName: '', - serviceMatterList: [], - type: '', - contact: '', - contactMobile: '', - memberCount: 0, - remark: '', //备注【最大500字】 - address: '', //详细地址 - longitude: 36.0722275, //经度 - latitude: 120.38945519 //纬度 - }, + formData: {}, feedbackFormData: { serviceProjectId: '',// 服务项目id - serviceProjectName: '', + serviceName: '', serviceGoal: '',// 服务目标 serviceEffect: '',// 服务效果 servicePeopleNumber: null,// 服务人数 @@ -350,7 +339,7 @@ export default { longitude: '',// 经度 latitude: '',// 维度 address: '', - attachmentList: [],// 附件列表 + fileList: [],// 附件列表 }, serviceList: [],//服务list @@ -360,7 +349,7 @@ export default { startPickerOptions: { disabledDate: startDisabledDate }, - + policyList: [], projectList: [], fileList: [], uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile', @@ -368,6 +357,7 @@ export default { }, components: {}, mounted () { + this.getPolicyList() if (this.serviceRecordId) {//详情 this.loadInfo() @@ -379,27 +369,41 @@ export default { methods: { + async getPolicyList () { + const url = '/heart/policy/policyListSelect' + let params = {} + + const { data, code, msg } = await requestPost(url, params) + + if (code === 0) { + this.policyList = data + } else { + this.$message.error(msg) + } + }, //加载组织 async loadInfo () { - const url = `/heart/icServiceProject/service/detail/${this.serviceRecordId}` - // const url = 'http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/detail' + this.serviceRecordId - let params = {} + const url = '/heart/icServiceRecordV2/detail' + + let params = { + serviceRecordId: this.serviceRecordId + } const { data, code, msg } = await requestPost(url, params) if (code === 0) { this.formData = { ...data } this.formData.serviceRecordId = this.serviceRecordId - this.feedbackFormData = { ...data.feedBack } - this.feedbackFormData.servicePeopleNumber = this.formData.servicePeopleNumber + this.feedbackFormData = { ...data.feedback } + this.fileList = [] - if (data.feedBack.attachmentList && data.feedBack.attachmentList.length > 0) { - data.feedBack.attachmentList.forEach(element => { + if (data.feedback.fileList && data.feedback.fileList.length > 0) { + data.feedback.fileList.forEach(element => { let obj = { - name: element.attachmentName, - format: element.attachmentFormat, - url: element.attachmentUrl, + name: element.name, + format: element.format, + url: element.url, } this.fileList.push(obj) }); @@ -440,7 +444,7 @@ export default { return false; } - let url = '/heart/icServiceProject/service/update' + let url = '/heart/icServiceRecordV2/edit' // let url = "http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/update" @@ -593,18 +597,7 @@ export default { resetData () { - this.formData = { - serviceCategoryKey: '',//服务分类id - serviceProjectId: '',//服务项目id - serviceOrgId: '',//服务组织id - serviceScope: [],// - principalName: '',//经办人(责任人)姓名 - principalContact: '',//经办人联系方式 - serviceTimeStart: '',//服务起始时间yyyy-MM-dd - serviceTimeEnd: '',//服务截止时间yyyy-MM-dd - remark: '',// - - } + this.formData = {} }, // 开启加载动画 startLoading () { @@ -626,22 +619,11 @@ export default { dataRule () { return { - serviceCategoryKey: [ - { required: true, message: '服务类别不能为空', trigger: 'blur' }, - ], - serviceProjectId: [ - { required: true, message: '服务项目不能为空', trigger: 'blur' } - ], - serviceOrgId: [ - { required: true, message: '服务组织不能为空', trigger: 'blur' } - ], serviceTimeStart: [ { required: true, message: '服务时间不能为空', trigger: 'blur' } ], - serviceScope: [ - { required: true, message: '服务范围不能为空', trigger: 'blur' } - ], + } }, @@ -652,17 +634,15 @@ export default { type: String, required: true }, - formType: {//表单操作类型 add新增,edit编辑,detail详情,feedback反馈 + serviceOrgName: { type: String, required: true }, - categrayArray: { - type: Array, - required: true, - default () { - return [] - } + formType: {//表单操作类型 add新增,edit编辑,detail详情,feedback反馈 + type: String, + required: true }, + satisfyArray: { type: Array, default () { diff --git a/src/views/modules/communityService/fuwujilu/fuwuList.vue b/src/views/modules/communityService/fuwujilu/fuwuList.vue index c670f259b..b5f64cdca 100644 --- a/src/views/modules/communityService/fuwujilu/fuwuList.vue +++ b/src/views/modules/communityService/fuwujilu/fuwuList.vue @@ -8,23 +8,9 @@ :label-width="'80px'">
- - - - - - - - + - - + prop="serviceOrgType"> + + + + + - + + + + @@ -59,7 +62,7 @@ class="item_width_2 data-tag" size="small" type="date" - value-format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd" value="yyyy-MM-dd" placeholder="结束时间"> @@ -132,15 +135,8 @@ align="center" width="50" /> - - - - @@ -155,7 +151,7 @@