diff --git a/src/views/modules/communityService/fuwujilu/addForm.vue b/src/views/modules/communityService/fuwujilu/addForm.vue
index f1a4c24e..45bb12bc 100644
--- a/src/views/modules/communityService/fuwujilu/addForm.vue
+++ b/src/views/modules/communityService/fuwujilu/addForm.vue
@@ -9,12 +9,12 @@
:rules="dataRule"
class="div_form">
+ placeholder="请输入服务名称"
+ v-model="formData.serviceName">
@@ -22,7 +22,7 @@
prop="serviceOrgId"
label-width="150px"
style="display: block">
-
-
-
+
+
+
+
+
+
+
-
已完成
@@ -188,9 +205,10 @@
-
@@ -315,8 +333,11 @@ export default {
keyWords: '',
formData: {
-
- serviceScope: [],//
+ serviceName: '',//服务名称
+ serviceOrgType: '',//服务组织类型 社区自组织:community_org, 志愿者:ic_user_volunteer, 联建单位:party_unit
+ serviceOrgId: '',//服务组织Id
+ objList: [],//
+ policyId: '',
principalName: '',//经办人(责任人)姓名
principalContact: '',//经办人联系方式
serviceTimeStart: '',//服务起始时间yyyy-MM-dd
@@ -326,8 +347,6 @@ export default {
},
feedbackFormData: {
-
-
serviceGoal: '',// 服务目标
serviceEffect: '',// 服务效果
servicePeopleNumber: null,// 服务人数
@@ -336,7 +355,7 @@ export default {
longitude: '',// 经度
latitude: '',// 维度
address: '',
- attachmentList: [],// 附件列表
+ fileList: [],// 附件列表
},
@@ -348,26 +367,9 @@ export default {
},
showFeedback: true,
- serviceOptions: [
- {
- label: "志愿者",
- value: "volunteer",
- },
- // {
- // label: '社会组织',
- // value: 'social_org'
- // },
- {
- label: "社区自组织",
- value: "community_org",
- },
- {
- label: "区域党建单位",
- value: "party_unit",
- },
- ],
+ serviceOptions: [],
serviceOptiondList: [],
-
+ policyList: [],
fileList: [],
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile',
@@ -389,6 +391,7 @@ export default {
this.startLoading()
this.initMap()
this.getDictOptions();
+ this.getPolicyList();
this.$refs.ref_form_feedback.resetFields();
if (this.formType === 'add') {
this.$refs.ref_form.resetFields();
@@ -404,9 +407,20 @@ export default {
methods: {
- async getDictOptions () {
+ 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",
@@ -483,7 +497,7 @@ export default {
handleChangeScope (value) {
- this.formData.serviceScope = []
+ this.formData.objList = []
let selArray = this.$refs["myCascader"].getCheckedNodes()
selArray.forEach(element => {
@@ -492,7 +506,7 @@ export default {
objectId: element.data.objectId,
objectName: element.data.objectName,
}
- this.formData.serviceScope.push(obj)
+ this.formData.objList.push(obj)
});
},
@@ -545,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
@@ -566,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 = {
@@ -583,6 +597,7 @@ export default {
this.$message.error(msg)
}
},
+
async handleFeedback () {
this.btnDisable = true
@@ -606,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
@@ -623,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 {
@@ -663,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)
@@ -818,7 +833,7 @@ export default {
resetData () {
this.formData = {
- serviceScope: [],//
+ objList: [],//
principalName: '',//经办人(责任人)姓名
principalContact: '',//经办人联系方式
serviceTimeStart: '',//服务起始时间yyyy-MM-dd
@@ -838,7 +853,7 @@ export default {
longitude: '',// 经度
latitude: '',// 维度
address: '',
- attachmentList: [],// 附件列表
+ fileList: [],// 附件列表
}
},
// 开启加载动画
@@ -862,11 +877,18 @@ export default {
return {
+ serviceName: [
+ { required: true, message: '服务名称不能为空', trigger: 'change' }
+ ],
+ serviceOrgId: [
+ { 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' }
],
}
diff --git a/src/views/modules/communityService/fuwujilu/detailForm.vue b/src/views/modules/communityService/fuwujilu/detailForm.vue
index 6125199c..652b399a 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 052c7e5c..b5f64cdc 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,8 +135,8 @@
align="center"
width="50" />
-
@@ -227,11 +230,10 @@
@closed="showAdd = false">
@@ -246,8 +248,8 @@
@closed="showDetail = false">
@@ -293,7 +295,7 @@ export default {
agencyId: '',
tableData: [],
- categrayArray: [],
+
statusArray: [
{
value: "in_service",
@@ -321,9 +323,10 @@ export default {
],
formData: {
- serviceCategoryKey: '',//服务类别id
- serviceProjectName: '',//项目名称
- serviceOrgName: '',//服务组织名称
+
+ serviceName: '',//项目名称
+ serviceOrgType: '',//服务组织类型
+ serviceOrgId: '',//服务组织Id
serviceTimeStart: '',//服务开始时间yyyy-MM-dd
serviceTimeEnd: '',//服务结束时间yyyy-MM-dd
serviceStatus: '',//服务状态。in_service服务中;completed:已完成
@@ -340,7 +343,8 @@ export default {
disabledDate: startDisabledDate
},
serviceRecordId: '',
- serviceProjectName: '',
+ serviceName: '',
+ serviceOrgName: '',
showAdd: false,
showDetail: false,
@@ -349,6 +353,10 @@ export default {
addDiaTitle: '发起服务',
detailDiaTitle: '服务详情',
+ serviceOptions: [],
+ serviceOptiondList: [],
+
+
};
},
computed: {
@@ -360,19 +368,19 @@ export default {
...mapGetters(["clientHeight", "iframeHeight"]),
},
watch: {
- "formData.serviceTimeEnd": function (val) {
- if (val && val != '') {
- let arrayTemp = val.split(' ')
- this.formData.serviceTimeEnd = arrayTemp[0] + ' 23:59:59'
- }
+ // "formData.serviceTimeEnd": function (val) {
+ // if (val && val != '') {
+ // let arrayTemp = val.split(' ')
+ // this.formData.serviceTimeEnd = arrayTemp[0] + ' 23:59:59'
+ // }
- },
+ // },
},
mounted () {
console.log(this.$store.state)
this.user = this.$store.state.user
this.agencyId = this.user.agencyId
- this.getCategrayList()
+ this.getDictOptions()
this.getTableData();
},
methods: {
@@ -382,23 +390,58 @@ export default {
this.pageNo = 1;
this.getTableData();
},
- // 字典
- async getCategrayList () {
+ // 获取服务组织
+ async getDictOptions () {
const url = "/sys/dict/data/dictlist"
let params = {
- dictType: 'ic_service_type'
+ dictType: 'user_demand_service_type'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
- this.categrayArray = data
+ this.serviceOptions = data;
} else {
this.$message.error(msg)
}
},
+ handleServiceChange (type, val) {
+ this.formData.serviceOrgId = ''
+ 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("网络错误");
+ });
+ },
+
async handleAdd () {
this.addDiaTitle = '发起服务'
@@ -408,6 +451,7 @@ export default {
async handleDetail (row) {
this.serviceRecordId = row.serviceRecordId
+ this.serviceOrgName = row.serviceOrgName
this.formType = 'detail'
this.showDetail = true
@@ -424,7 +468,7 @@ export default {
async handleFeedback (row) {
this.serviceRecordId = row.serviceRecordId
- this.serviceProjectName = row.serviceProjectName
+ this.serviceName = row.serviceName
this.addDiaTitle = '服务反馈'
this.formType = 'feedback'
this.showAdd = true;
@@ -470,16 +514,16 @@ export default {
});
-
-
},
async cancelFuwu () {
- const url = `/heart/icServiceProject/service/cancel/${this.serviceRecordId}`;
-
+ const url = '/heart/icServiceRecordV2/cancel';
+ let params = {
+ serviceRecordId: this.serviceRecordId
+ }
- const { data, code, msg } = await requestPost(url, {});
+ const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("取消成功!");
@@ -491,8 +535,8 @@ export default {
async getTableData () {
this.tableLoading = true
- const url = "/heart/icServiceProject/service/recordList";
- // const url = "http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/recordList";
+ const url = "/heart/icServiceRecordV2/list";
+
const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, {
pageSize,
@@ -505,23 +549,9 @@ export default {
this.total = data.total || 0;
this.tableData = data.list
- ? data.list.map((item) => {
- return item;
- })
- : [];
-
- this.tableData.forEach(item => {
- if (item.operationType === '2') {
- item.operationTypeShow = '已转需求'
- }
- if (item.operationType === '1') {
- item.operationTypeShow = '已立项'
- }
- if (item.operationType === '0') {
- item.operationTypeShow = '已回复'
- }
- });
+
+
} else {
this.$message.error(msg);
}
@@ -576,13 +606,13 @@ export default {
resetSearch () {
this.formData = {
- serviceCategoryKey: '',
- serviceProjectName: '',
- serviceOrgName: '',
- serviceTimeStart: '',
- serviceTimeEnd: '',
- serviceStatus: '',
- satisfaction: ''
+ serviceName: '',//项目名称
+ serviceOrgType: '',//服务组织类型
+ serviceOrgId: '',//服务组织Id
+ serviceTimeStart: '',//服务开始时间yyyy-MM-dd
+ serviceTimeEnd: '',//服务结束时间yyyy-MM-dd
+ serviceStatus: '',//服务状态。in_service服务中;completed:已完成
+ satisfaction: '',//满意度.不满意:bad、基本满意:good、非常满意:perfect
}
diff --git a/src/views/modules/communityService/policy/personListItem.vue b/src/views/modules/communityService/policy/personListItem.vue
index 4a277e8e..e7c093cc 100644
--- a/src/views/modules/communityService/policy/personListItem.vue
+++ b/src/views/modules/communityService/policy/personListItem.vue
@@ -280,7 +280,8 @@ export default {
pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData,
- ruleId: this.ruleId
+ ruleId: this.ruleId,
+ ruleList: this.ruleList
}
const { data, code, msg } = await requestPost(url, params)
@@ -518,6 +519,12 @@ export default {
type: String,
required: ''
},
+ ruleList: {
+ type: Array,
+ default () {
+ return []
+ }
+ },
}
}
diff --git a/src/views/modules/communityService/policy/policyList.vue b/src/views/modules/communityService/policy/policyList.vue
index ed89fb26..8f3d2940 100644
--- a/src/views/modules/communityService/policy/policyList.vue
+++ b/src/views/modules/communityService/policy/policyList.vue
@@ -168,6 +168,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="addDiaTitle"
+ :modal-append-to-body="false"
width="1050px"
top="5vh"
class="dialog-h"
diff --git a/src/views/modules/communityService/policy/rule.vue b/src/views/modules/communityService/policy/rule.vue
index a0499aae..50444635 100644
--- a/src/views/modules/communityService/policy/rule.vue
+++ b/src/views/modules/communityService/policy/rule.vue
@@ -12,6 +12,7 @@
:class="['tab-title',{'tab-title-sel':staticSel}]">统计信息
预览
+
+
+
+
+
+
@@ -305,7 +323,7 @@
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // 引入Loading服务
import { requestPost } from '@/js/dai/request'
-
+import personListItem from './personListItem'
let loading // 加载动画
@@ -386,13 +404,16 @@ export default {
],
okflag: false,
+ showPersonList: false,
+ ruleList: []
+
}
},
watch: {
},
- components: {},
+ components: { personListItem },
async mounted () {
this.loadPersonGroup()
this.loadHouseItem()
@@ -570,6 +591,22 @@ export default {
return message
},
+ handlePreview () {
+ this.ruleList = {}
+ this.ruleList = {
+ resiRuleList: this.resiRuleList,
+ houseRuleList: this.houseRuleList,
+ statRuleList: this.statRuleList,
+ }
+
+ this.showPersonList = true
+ },
+
+ handleClose () {
+ this.showPersonList = false
+
+ },
+
clickTab (type) {
if (type === 'person') {
this.personSel = true