Browse Source

Merge branch 'dev' into preview

feature
mk 2 years ago
parent
commit
9a76efd109
  1. 2
      src/i18n/zh-CN.js
  2. 9
      src/views/components/resiForm.vue
  3. 2
      src/views/dataBoard/cpts/details/yxwxfw.vue
  4. 6
      src/views/dataBoard/renfang/resi/classNew.vue
  5. 14
      src/views/dataBoard/satisfactionEval/modules/PersonnelPortrait/index.vue
  6. 4
      src/views/dataBoard/satisfactionEval/potentialPeople/details/xqwmz.vue
  7. 4
      src/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue
  8. 4
      src/views/dataBoard/sida/fuwu/need-detail.vue
  9. 4
      src/views/dataBoard/sida/xq/need-detail.vue
  10. 2
      src/views/dataBoard/sida/zy/gexingDetail.vue
  11. 5
      src/views/modules/base/resi.vue
  12. 19
      src/views/modules/base/virtualResi.vue
  13. 5
      src/views/modules/communityParty/regionalParty/activitysDetail.vue
  14. 106
      src/views/modules/communityParty/regionalParty/activitysForm.vue
  15. 97
      src/views/modules/communityParty/regionalParty/unitsForm.vue
  16. 8
      src/views/modules/communityService/commonDemand/addForm.vue
  17. 2
      src/views/modules/communityService/commonDemand/detailForm.vue
  18. 4
      src/views/modules/communityService/commonDemand/editForm.vue
  19. 2
      src/views/modules/communityService/commonDemand/index.vue
  20. 222
      src/views/modules/communityService/fuwuzhaoren/addForm.vue
  21. 2
      src/views/modules/communityService/fuwuzhaoren/editForm.vue
  22. 181
      src/views/modules/communityService/fuwuzhaoren/index.vue
  23. 200
      src/views/modules/communityService/gangweizhaoren/addForm.vue
  24. 2
      src/views/modules/communityService/gangweizhaoren/editForm.vue
  25. 149
      src/views/modules/communityService/gangweizhaoren/index.vue
  26. 232
      src/views/modules/communityService/gxxq/addForm.vue
  27. 6
      src/views/modules/communityService/gxxq/detailForm.vue
  28. 93
      src/views/modules/communityService/gxxq/index.vue
  29. 201
      src/views/modules/communityService/jinengzhaoren/addForm.vue
  30. 2
      src/views/modules/communityService/jinengzhaoren/editForm.vue
  31. 173
      src/views/modules/communityService/jinengzhaoren/index.vue
  32. 2
      src/views/modules/communityService/labelConfig/addForm.vue
  33. 8
      src/views/modules/communityService/labelConfig/index.vue
  34. 4
      src/views/modules/communityService/measure/detail.vue
  35. 68
      src/views/modules/communityService/measure/index.vue
  36. 2
      src/views/modules/communityService/measure/info.vue
  37. 239
      src/views/modules/communityService/policy/addPolicy.vue
  38. 199
      src/views/modules/communityService/wennuanzhaoren/addForm.vue
  39. 2
      src/views/modules/communityService/wennuanzhaoren/editForm.vue
  40. 147
      src/views/modules/communityService/wennuanzhaoren/index.vue
  41. 2
      src/views/modules/home/cpts/xuqiu-info.vue
  42. 2
      src/views/modules/home/index.vue
  43. 2
      src/views/modules/portrayal/jumin/cpts/details/fwdetail.vue
  44. 3
      src/views/modules/satisfaction/communitySelfInsp/formList.vue
  45. 4
      src/views/modules/satisfaction/communitySelfInsp/index.vue
  46. 2
      src/views/modules/shequ/chaxun.vue
  47. 2
      src/views/modules/shequ/cpts/xuqiu-info.vue
  48. 4
      src/views/modules/shequ/index.vue
  49. 4
      src/views/modules/shequzhili/event/cpts/process-form-demand.vue
  50. 9
      src/views/modules/shequzhili/eventOld/cpts/add.vue
  51. 72
      src/views/modules/shequzhili/eventOld/cpts/event-info.vue
  52. 4
      src/views/modules/shequzhili/eventOld/cpts/process-form-demand.vue
  53. 2
      src/views/modules/shequzhili/eventOld/cpts/process-form.vue
  54. 99
      src/views/modules/shequzhili/eventOld/eventList.vue
  55. 84
      src/views/modules/shequzhili/tuceng/yingji/zizuzhi/addForm.vue
  56. 2
      src/views/modules/shequzhili/welfare/addForm.vue
  57. 2
      src/views/modules/shequzhili/xiangmu/cpts/demand-info.vue
  58. 2
      src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanDialog.vue
  59. 2
      src/views/modules/visual/communityParty/memberInfo.vue
  60. 6
      src/views/modules/visual/measure/dialogInfo.vue
  61. 2
      src/views/modules/visual/measure/service.vue
  62. 120
      src/views/modules/workSys/serviceMatters.vue
  63. 115
      src/views/modules/workSys/serviceMattersComponents/addForm.vue

2
src/i18n/zh-CN.js

@ -3,7 +3,7 @@ const t = {}
t.loading = '加载中...'
t.brand = {}
t.brand.lg = '数字社区综合服务平台'
t.brand.lg = 'e联社区数智平台'
t.brand.mini = '数字'
t.brand.work = 'e联社区数智平台'
t.brand.workMini = '工作端'

9
src/views/components/resiForm.vue

@ -435,6 +435,14 @@ export default {
lazyLoad: (node, resolve) => {
this.handleNextOrgTreeClick(node, resolve)
},
isLeaf: (data, node) => {
console.log(data);
//
//el-tree
if(data.partyOrgLevel == 7 || data.childrenQty == 0) {
return true
}
},
checkStrictly: true,
multiple: false,
},
@ -1724,6 +1732,7 @@ export default {
await this.getTreeChildenList(node,resolve)
},
async getTreeChildenList (node, resolve) {
console.log(node);
if (node.data.partyOrgLevel === 7 ) {
resolve(null);
return;

2
src/views/dataBoard/cpts/details/yxwxfw.vue

@ -62,7 +62,7 @@
<span> {{ $sensitive(formData.principalContact, 3, 7) }}</span>
</div>
<div class="eventItem">
<span>服务</span>
<span>服务组织</span>
<span>{{ formData.principalName }}</span>
</div>
<div class="eventItem">

6
src/views/dataBoard/renfang/resi/classNew.vue

@ -195,7 +195,7 @@
type="text"
v-model="searchParams.serviceOrgName"
:clearable="true"
placeholder="请输入服务名称"
placeholder="请输入服务组织名称"
@blur="changeFwfmc"
/>
</div>
@ -641,7 +641,7 @@ export default {
) {
setTimeout(() => {
this.searchParams = {
serviceOrgName: null, //
serviceOrgName: null, //
};
this.oldValsss = null;
}, 200);
@ -691,7 +691,7 @@ export default {
"服务事项",
"来源",
"服务时间",
"服务",
"服务组织",
"服务人数",
"操作",
];

14
src/views/dataBoard/satisfactionEval/modules/PersonnelPortrait/index.vue

@ -19,9 +19,9 @@
{{ ageClassification }}
</div>
</div>
<div class="tag red" v-if="residentTagName">
<div :class="[residentTagName.length > 5 ? 'smallSize' : '', 'text']">
{{ residentTagName }}
<div class="tag red" v-for="residentTag in residentTagArray" >
<div :class="[residentTag.length > 5 ? 'smallSize' : '', 'text']">
{{ residentTag }}
</div>
</div>
<div class="tag light" v-if="monthIncomeLevel">
@ -97,7 +97,7 @@ export default {
cultureName: "",
gridName: "",
monthIncomeLevel: "",
residentTagName: "",
residentTagArray:[],
matchPeopleNum: 0,
searchParams: "",
loading: true,
@ -118,7 +118,7 @@ export default {
this.cultureName = "";
this.gridName = "";
this.monthIncomeLevel = "";
this.residentTagName = "";
this.residentTagArray = [];
this.matchPeopleNum = 0;
this.typeCondition = val;
this.getData();
@ -161,7 +161,9 @@ export default {
this.cultureName = data.cultureName;
this.gridName = data.gridName;
this.monthIncomeLevel = data.monthIncomeLevel;
this.residentTagName = data.residentTagName;
if(data.residentTagName){
this.residentTagArray = data.residentTagName.split(",");
}
this.matchPeopleNum = data.matchPeopleNum;
this.loading = false;
this.searchParams = JSON.stringify({ ...data, ...params });

4
src/views/dataBoard/satisfactionEval/potentialPeople/details/xqwmz.vue

@ -132,7 +132,7 @@
</div>
</div>
<div class="detail">
<div class="detail-field">指派给服务</div>
<div class="detail-field">指派给服务组织</div>
<div class="detail-value">
{{ item.serverName }} {{
item.serviceType === 'volunteer' ? '志愿者' :
@ -147,7 +147,7 @@
<template v-if="item.actionCode === 'finish'">
<div class="detail">
<div class="detail-field">服务</div>
<div class="detail-field">服务组织</div>
<div class="detail-value">
{{ item.serverName }} {{
item.serviceType === 'volunteer' ? '志愿者' :

4
src/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue

@ -37,7 +37,7 @@
<span> {{ $sensitive(item.principalContact, 3, 7) }}</span>
</div>
<div class="eventItem">
<span>服务</span>
<span>服务组织</span>
<span>{{ item.serviceOrgName }}</span>
</div>
<div class="eventItem">
@ -68,7 +68,7 @@
</template>
<template v-else>
<div class="detail">
<div class="detail-field">服务</div>
<div class="detail-field">服务组织</div>
<div class="detail-value">
{{ item.serviceOrgName }}
</div>

4
src/views/dataBoard/sida/fuwu/need-detail.vue

@ -123,7 +123,7 @@
<div class="row">
<div class="item">
<div class="field">服务</div>
<div class="field">服务组织</div>
<div class="value">{{ info.server_name }}</div>
</div>
<div class="item">
@ -159,7 +159,7 @@
<div class="value">{{ info.resi_search_tag_name }}</div>
</div>
<div class="item">
<div class="field">服务 </div>
<div class="field">服务组织 </div>
<div class="value">{{ info.service_name }}</div>
</div>
<div class="item">

4
src/views/dataBoard/sida/xq/need-detail.vue

@ -123,7 +123,7 @@
<div class="row">
<div class="item">
<div class="field">服务</div>
<div class="field">服务组织</div>
<div class="value">{{ info.server_name }}</div>
</div>
<div class="item">
@ -159,7 +159,7 @@
<div class="value">{{ info.resi_search_tag_name }}</div>
</div>
<div class="item">
<div class="field">服务 </div>
<div class="field">服务组织 </div>
<div class="value">{{ info.service_name }}</div>
</div>
<div class="item">

2
src/views/dataBoard/sida/zy/gexingDetail.vue

@ -52,7 +52,7 @@
<div class="value">{{ info.score }}</div>
</div>
<div class="item">
<div class="field">服务</div>
<div class="field">服务组织</div>
<div class="value">{{ info.server_name }}</div>
</div>
<div class="item">

5
src/views/modules/base/resi.vue

@ -210,6 +210,11 @@
? "志愿者 "
: ""
}}
{{
scope.row.categoryInfo.publicWelfareFlag == 1
? "公益岗 "
: ""
}}
{{
scope.row.categoryInfo.buildingChiefFlag == 1
? "楼长 "

19
src/views/modules/base/virtualResi.vue

@ -210,6 +210,21 @@
? "志愿者 "
: ""
}}
{{
scope.row.categoryInfo.publicWelfareFlag == 1
? "公益岗 "
: ""
}}
{{
scope.row.categoryInfo.buildingChiefFlag == 1
? "楼长 "
: ""
}}
{{
scope.row.categoryInfo.unitChiefFlag == 1
? "单元长 "
: ""
}}
</div>
</template>
</div>
@ -966,6 +981,10 @@ export default {
_baseForm.disabledFlag = parseInt(_baseForm.disabledFlag); //
_baseForm.dementedFlag = parseInt(_baseForm.dementedFlag); //
_baseForm.disabilityFlag = parseInt(_baseForm.disabilityFlag); //
_baseForm.buildingChiefFlag = parseInt(_baseForm.buildingChiefFlag); //
_baseForm.unitChiefFlag = parseInt(_baseForm.unitChiefFlag); //
_baseForm.seriousIllnessFlag = parseInt(
_baseForm.seriousIllnessFlag
); //

5
src/views/modules/communityParty/regionalParty/activitysDetail.vue

@ -191,4 +191,9 @@ export default {
height: auto;
}
}
.div-btn{
display: flex;
justify-content: flex-end;
margin-right: 16px;
}
</style>

106
src/views/modules/communityParty/regionalParty/activitysForm.vue

@ -24,32 +24,17 @@
</el-form-item>
<el-form-item label="服务事项"
label-width="150px"
prop="serviceMatterList">
<el-checkbox-group class="item_width_1"
style="display:flex;flex-wrap:wrap"
v-model="formData.serviceMatterList">
<el-checkbox v-for="item in serviceList"
:key="item.value"
:label="item.value">{{item.label}}</el-checkbox>
</el-checkbox-group>
<!-- <el-select class="item_width_1"
v-model="formData.serviceMatter"
placeholder="请选择"
clearable>
<el-option v-for="item in serviceList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
<el-form-item label="服务事项" prop="serviceMatterList" label-width="150px">
<el-cascader
v-model="formData.serviceMatterList"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList',multiple:true,emitPath:false}"
clearable
collapse-tags
size="small"
class="u-item-width-normal"
></el-cascader>
</el-form-item>
<el-form-item label="单位名称"
prop="unitIdList"
label-width="150px"
@ -253,7 +238,9 @@ export default {
formData: initFormData(),
serviceList: [],
// gridList: [],
agencyId: ''
agencyId: '',
demandOptions:[]
}
},
@ -271,7 +258,7 @@ export default {
//
await this.loadService()
await this.getDemandOptions()
let { latitude, longitude } = this.$store.state.user;
@ -295,6 +282,50 @@ export default {
this.endLoading()
},
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
async loadGrid () {
const url = "/gov/org/customergrid/gridoption"
@ -313,26 +344,7 @@ export default {
},
//
async loadService () {
const url = "/actual/base/serviceitem/dict-list"
let params = {
type: 'usable'
// parentCategoryCode: '1010'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.serviceList = data
} else {
this.$message.error(msg)
}
},
//
async loadFormData () {
const url = '/heart/icpartyactivity/detail'

97
src/views/modules/communityParty/regionalParty/unitsForm.vue

@ -46,7 +46,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item
<!-- <el-form-item
label="服务事项"
prop="serviceMatterList"
label-width="150px"
@ -64,6 +64,17 @@
>{{ item.label }}</el-checkbox
>
</el-checkbox-group>
</el-form-item> -->
<el-form-item label="服务事项" prop="serviceMatterList" label-width="150px">
<el-cascader
v-model="formData.serviceMatterList"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList',multiple:true,emitPath:false}"
clearable
collapse-tags
size="small"
class="u-item-width-normal"
></el-cascader>
</el-form-item>
<el-form-item
label="联系人"
@ -217,6 +228,8 @@ export default {
keyWords: "",
formData: initFormData(),
serviceList: [], //list
demandOptions:[]
};
},
components: {},
@ -229,9 +242,11 @@ export default {
this.startLoading();
this.$refs.ref_form.resetFields();
//
await this.loadService();
//old
// await this.loadService();
//
await this.getDemandOptions()
console.log(this.demandOptions);
let { latitude, longitude } = this.$store.state.user;
this.formType = type;
@ -250,23 +265,65 @@ export default {
this.endLoading();
},
//
async loadService() {
const url = "/actual/base/serviceitem/dict-list";
let params = {
type: "usable",
// parentCategoryCode: '1010'
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.serviceList = data;
} else {
this.$message.error(msg);
}
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
//
// async loadService() {
// const url = "/actual/base/serviceitem/dict-list";
// let params = {
// type: "usable",
// // parentCategoryCode: '1010'
// };
// const { data, code, msg } = await requestPost(url, params);
// if (code === 0) {
// this.serviceList = data;
// } else {
// this.$message.error(msg);
// }
// },
//
async loadFormData() {

8
src/views/modules/communityService/commonDemand/addForm.vue

@ -94,7 +94,7 @@
</el-button>
</el-form-item>
<el-form-item label="服务" prop="serviceOrgId" label-width="150px" :class="{ 'form-item': source === 'visiual' }"
<el-form-item label="服务组织" prop="serviceOrgId" label-width="150px" :class="{ 'form-item': source === 'visiual' }"
style="display: block">
<el-select v-model="formData.serviceOrgType" class="input-width-small" placeholder="请选择" clearable
@change="handleServiceChange('add', $event)">
@ -147,7 +147,7 @@
</person-list>
</el-dialog>
<el-dialog v-if="showLabelForm" :visible.sync="showLabelForm" :append-to-body="true" :close-on-click-modal="false"
:close-on-press-escape="false" :title="'标签配置'" width="900px" top="5vh" class="dialog-h"
:close-on-press-escape="false" :title="'标签配置'" width="954px" top="5vh" class="dialog-h"
@closed="showLabelForm = false">
<label-form ref="ref_label_form" :policyId="policyId" :ruleList="ruleList" @dialogCancle="addFormCancle"
@dialogOk="addFormOk">
@ -359,7 +359,7 @@ export default {
{ required: true, message: "服务事项不能为空", trigger: "change" },
],
serviceOrgId: [
{ required: true, message: "服务不能为空", trigger: "change" },
{ required: true, message: "服务组织不能为空", trigger: "change" },
],
serviceTimeStart: [
@ -464,7 +464,7 @@ export default {
return this.$message.error("网络错误");
});
},
//
//
handleChangeServiceTypeLevel2() {
console.log(this.formData.serviceOrgType);
if (this.formData.serviceOrgType) {

2
src/views/modules/communityService/commonDemand/detailForm.vue

@ -9,7 +9,7 @@
</div>
<div class="info-prop">
<span class="info-title-2">服务</span>
<span class="info-title-2">服务组织</span>
<span>{{ serviceOrgName || "--" }}</span>
</div>

4
src/views/modules/communityService/commonDemand/editForm.vue

@ -17,7 +17,7 @@
</el-option>
</el-select> -->
</el-form-item>
<el-form-item label="服务" prop="serviceOrgId" label-width="150px" style="display: block">
<el-form-item label="服务组织" prop="serviceOrgId" label-width="150px" style="display: block">
<span>{{ serviceOrgName }}</span>
<!-- <el-select class="item_width_1"
v-model="formData.serviceOrgId"
@ -219,7 +219,7 @@
</person-list>
</el-dialog>
<el-dialog v-if="showLabelForm" :visible.sync="showLabelForm" :append-to-body="true" :close-on-click-modal="false"
:close-on-press-escape="false" :title="'标签配置'" width="900px" top="5vh" class="dialog-h"
:close-on-press-escape="false" :title="'标签配置'" width="954px" top="5vh" class="dialog-h"
@closed="showLabelForm = false">
<label-form ref="ref_label_form" :policyId="policyId" :ruleList="ruleList" @dialogCancle="addFormCancle"
@dialogOk="addFormOk">

2
src/views/modules/communityService/commonDemand/index.vue

@ -237,7 +237,7 @@
prop="serviceOrgName"
align="center"
min-width="150"
label="服务"
label="服务组织"
:show-overflow-tooltip="true"
>
</el-table-column>

222
src/views/modules/communityService/fuwuzhaoren/addForm.vue

@ -12,60 +12,16 @@
:rules="dataRule"
class="div_form"
>
<el-form-item
label="服务类别"
style="display: block"
label-width="150px"
prop="serviceTypeLevel2Id"
>
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel1Id"
placeholder="请选择"
clearable
@change="handleChangeServiceTypeLevel1"
>
<el-option
v-for="item in serviceTypesLevel1"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
-
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel2Id"
placeholder="请选择"
@change="handleChangeServiceTypeLevel2"
<el-form-item label="服务类别" prop="categoryCode" label-width="150px">
<el-cascader
v-model="formData.categoryCode"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
clearable
>
<el-option
v-for="item in serviceTypesLevel2"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="政策依据"
prop="policyId"
label-width="150px"
style="display: block">
<el-select :disabled="formType==='detail'"
v-model="formData.policyId"
class="input-width-small"
placeholder="请选择"
clearable>
<el-option v-for="item in policyList"
:key="item.policyId"
:label="item.title"
:value="item.policyId">
</el-option>
</el-select>
</el-form-item> -->
size="small"
class="u-item-width-normal"
></el-cascader>
</el-form-item>
<el-form-item
label="服务事项"
prop="serviceName"
@ -124,7 +80,7 @@
</el-button>
</el-form-item>
<el-form-item
label="服务"
label="服务组织"
prop="serviceOrgId"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
@ -164,7 +120,7 @@
</el-form-item>
<el-form-item
prop="noticeApproches"
label="自动通知服务"
label="自动通知服务组织"
label-width="150px"
style="display: block"
>
@ -336,7 +292,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"
@ -420,10 +376,6 @@ export default {
return time.getTime() < nowData;
};
return {
//
serviceTypesLevel1: [],
serviceTypesLevel2: [],
btnDisable: false,
casOptions: [],
scopeIdArray: [],
@ -440,15 +392,15 @@ export default {
keyWords: "",
formData: {
serviceTypeLevel1Id: "", // id
serviceTypeLevel2Id: "", // id
categoryCode:[],
parentCategoryCode:'',
resiSearchTagId: "", //
resiSearchTagName: "", //
serviceName: "", //
noticeApproches: [], //
noticeApproches: [], //
policyId: "", //
serviceOrgType: "", // community_org ic_user_volunteer party_unit
serviceOrgId: "", //Id
serviceOrgType: "", // community_org ic_user_volunteer party_unit
serviceOrgId: "", //Id
gridIdList: [], //
principalName: "", //()
principalContact: "", //
@ -469,14 +421,14 @@ export default {
},
sarr: [],
dataRule: {
serviceTypeLevel2Id: [
categoryCode: [
{ required: true, message: "服务类别不能为空", trigger: "change" },
],
serviceName: [
{ required: true, message: "服务事项不能为空", trigger: "change" },
],
serviceOrgId: [
{ required: true, message: "服务不能为空", trigger: "change" },
{ required: true, message: "服务组织不能为空", trigger: "change" },
],
serviceTimeStart: [
@ -535,16 +487,13 @@ export default {
],
showLabelForm: false,
showFeedback: false,
demandOptions:[]
};
},
computed: {
feedbackDataRule() {
return {
// serviceGoal: [
// { required: true, message: "", trigger: "blur" },
// ],
serviceEffect: [
{ required: true, message: "服务效果不能为空", trigger: "blur" },
],
@ -587,24 +536,11 @@ export default {
} else if (this.formType == "edit") {
this.loadInfo();
}
await this.getDemandOptions()
await this.iniDefaultData();
this.endLoading();
//
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
console.log(res.data);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
methods: {
@ -623,6 +559,49 @@ export default {
}
console.log(this.dataRule);
},
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
).filter((item) => item.categoryCode == '1038' ||item.categoryCode == '1039'||item.categoryCode == '1041');
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
//
async loadInfo() {
const url = "/governance/icServiceRecordV2/detail";
@ -634,13 +613,15 @@ export default {
if (code === 0) {
this.formData = { ...data };
if (data.categoryCode) {
this.formData.categoryCode = [data.parentCategoryCode, data.categoryCode];
} else {
this.formData.categoryCode = [data.parentCategoryCode];
}
if(!data.noticeApproches){
this.formData.noticeApproches = [];
}
this.scopeIdArray = data.gridIdList.map(i => i.objectId);
this.formData.serviceTypeLevel1Id = data.serviceTypeLevel1Id;
this.handleChangeServiceTypeLevel1();
this.formData.serviceTypeLevel2Id = data.serviceTypeLevel2Id;
this.feedbackFormData = { ...data.feedback };
await this.getServiceuserList(data.serviceOrgType);
@ -675,35 +656,6 @@ export default {
this.$message.error(msg);
}
},
//
handleChangeServiceTypeLevel1() {
this.formData.serviceTypeLevel2Id = "";
this.$http
.get(
"/governance/commonServiceType/selectList/" +
this.formData.serviceTypeLevel1Id
)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
//
handleChangeServiceTypeLevel2() {
console.log(this.formData.serviceTypeLevel1Id);
console.log(this.formData.serviceTypeLevel2Id);
if (this.formData.serviceOrgType) {
this.getServiceuserList(this.formData.serviceOrgType);
} else {
return;
}
},
handleClickLabel() {
this.showLabelForm = true;
this.$nextTick(() => {
@ -723,7 +675,6 @@ export default {
this.formData.resiSearchTagName = "";
},
getLastItem(list, vals, key) {
console.log(list, vals, key);
let LIST = list || [];
for (let item of LIST) {
for (let i of vals) {
@ -774,7 +725,6 @@ export default {
},
async iniDefaultData() {
const { defaultData } = this;
console.log("iniDefaultData3", defaultData);
if (defaultData) {
const { serviceOrgType, serviceOrgId, scopeIdArray } = defaultData;
if (serviceOrgType) {
@ -822,7 +772,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceOptions = res.data;
this.serviceOptions = res.data.filter(item=>item.value == 'party_unit'||item.value == 'community_org'||item.value == 'publicWelfare');
}
})
.catch(() => {
@ -847,7 +797,6 @@ export default {
// }
// },
async handleServiceChange(type, val) {
console.log(val);
if (val === "social_org") {
if (type === "add") await this.getServiceuserList(val);
else this.getServiceuserList(val);
@ -856,15 +805,15 @@ export default {
async getServiceuserList(serverOrgType) {
if (!serverOrgType) return false;
if (this.formData.serviceTypeLevel2Id == "") {
if (this.formData.categoryCode.length === 0) {
this.$message.error("请先选择服务类别!");
return;
}
const url = "/actual/base/serviceitem/listServerOrg";
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serviceTypeId: this.formData.serviceTypeLevel2Id,
serverOrgCategoryCode: this.formData.categoryCode[1],
serverParentOrgCategoryCode:this.formData.categoryCode[0],
serverOrgType: serverOrgType,
businessType: "common_service",
};
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
@ -988,9 +937,24 @@ export default {
}
// const url = 'http://yapi.elinkservice.cn/mock/245/governance/icServiceProject/service/initiate'
let params = {
...this.formData,
categoryCode:this.formData.categoryCode[1]?this.formData.categoryCode[1]:'',
parentCategoryCode:this.formData.categoryCode[0],
resiSearchTagId: this.formData.resiSearchTagId,
resiSearchTagName: this.formData.resiSearchTagName,
serviceName: this.formData.serviceName,
noticeApproches: this.formData.noticeApproches,
policyId: this.formData.policyId,
serviceOrgType: this.formData.serviceOrgType,
serviceOrgId: this.formData.serviceOrgId,
objList: this.formData.gridIdList,
principalName: this.formData.principalName,
principalContact: this.formData.principalContact,
serviceTimeStart: this.formData.serviceTimeStart,
serviceTimeEnd: this.formData.serviceTimeEnd,
remark: this.formData.remark,
feedback:this.formData.feedback,
serviceRecordId:this.serviceRecordId
};
delete params.serviceTypeLevel1Id;
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("发起成功");
@ -1008,8 +972,8 @@ export default {
resetData() {
this.formData = {
serviceTypeLevel1Id: "", // id
serviceTypeLevel2Id: "", // id
categoryCode:[],
parentCategoryCode:'',
gridIdList: [], //
principalName: "", //()
principalContact: "", //

2
src/views/modules/communityService/fuwuzhaoren/editForm.vue

@ -343,7 +343,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"

181
src/views/modules/communityService/fuwuzhaoren/index.vue

@ -3,39 +3,20 @@
<div>
<div class="m-search">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'100px'">
<el-form-item prop="serviceType"
label="服务类别"
>
<el-select class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel1Id"
placeholder="请选择"
size="small"
clearable>
<el-option v-for="item in serviceTypesLevel1"
@click.native="handleChangeServiceTypeLevel1"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="serviceType">
<el-select class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel2Id"
placeholder="请选择"
size="small"
clearable>
<el-option v-for="item in serviceTypesLevel2"
@click.native=""
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
:model="formData"
ref="ref_searchform"
:label-width="'100px'">
<el-form-item label="服务类别" prop="categoryCode">
<el-cascader
v-model="formData.categoryCode"
class="u-item-width-daterange2"
size="small"
:options="searchdemandOptions"
:props="{ checkStrictly: true, label: 'categoryName', value: 'categoryCode', children: 'childCateList' }"
clearable
@change="handleCateCHange"
></el-cascader>
</el-form-item>
<el-form-item label="服务时间"
prop="serviceTimeStart">
@ -190,7 +171,7 @@
align="center"
width="50" />
<el-table-column prop="serviceTypeName"
<el-table-column prop="categoryAllName"
label="服务类型"
align="center"
:show-overflow-tooltip="true">
@ -222,7 +203,7 @@
<el-table-column prop="serviceOrgName"
align="center"
min-width="150"
label="服务"
label="服务组织"
:show-overflow-tooltip="true">
</el-table-column>
@ -320,27 +301,6 @@
@handleOk="handleOk"
@handleClose="handleClose"></add-form>
</el-dialog>
<!-- 编辑与新增写在一个组件中 -->
<!-- <el-dialog v-if="showEdit"
:visible.sync="showEdit"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'编辑'"
:modal-append-to-body="false"
width="850px"
top="5vh"
class="dialog-h"
@closed="showEdit = false">
<edit-form ref="ref_edit_form"
:serviceRecordId="serviceRecordId"
:serviceOrgName="serviceOrgName"
:satisfyArray="satisfyArray"
:statusArray="statusArray"
@handleOk="handleOk"
@handleClose="handleClose"
:formType="formType">
</edit-form>
</el-dialog> -->
<el-dialog v-if="showDetail"
:visible.sync="showDetail"
:close-on-click-modal="false"
@ -385,12 +345,11 @@ import { mapGetters } from "vuex";
import axios from "axios";
import addForm from "./addForm";
import detailForm from "./detailForm.vue";
import editForm from "./editForm";
import feedBackForm from "./addForm";
import personList from "./personList";
//
export default {
components: { addForm, detailForm, feedBackForm, editForm, personList },
components: { addForm, detailForm, feedBackForm, personList },
data () {
@ -411,9 +370,6 @@ export default {
}
return {
//
serviceTypesLevel1:[],
serviceTypesLevel2:[],
tableLoading: false,
user: {},
agencyId: '',
@ -447,8 +403,8 @@ export default {
],
formData: {
serviceTypeLevel1Id:'',// id
serviceTypeLevel2Id:'',// id
categoryCode:'',
parentCategoryCode:'',
serviceName: '',//
serviceOrgType: '',//
serviceOrgId: '',//Id
@ -488,7 +444,10 @@ export default {
ruleList: [],
//
multiSelectedRows: []
multiSelectedRows: [],
searchdemandOptions:[]
};
},
computed: {
@ -515,26 +474,38 @@ export default {
this.agencyId = this.user.agencyId
this.getDictOptions()
this.getTableData();
this.getDemandOptions()
},
methods: {
//
handleChangeServiceTypeLevel1() {
this.formData.serviceTypeLevel2Id = ''
async getDemandOptions() {
this.$http
.get("/governance/commonServiceType/selectList/" + this.formData.serviceTypeLevel1Id)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
})
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.searchdemandOptions = this.getTreeData(res.data).filter((item) => item.categoryCode == '1038' ||item.categoryCode == '1039'||item.categoryCode == '1041');
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
handleSearch (val) {
console.log(this.formData);
this.pageNo = 1;
@ -551,23 +522,11 @@ export default {
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.serviceOptions = data;
this.serviceOptions = data.filter(item=>item.value == 'party_unit'||item.value == 'community_org'||item.value == 'publicWelfare');
} else {
this.$message.error(msg)
}
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
handleServiceChange (type, val) {
@ -585,24 +544,18 @@ export default {
async getServiceuserList (serviceType, query) {
if (!serviceType) return false;
const params = {
serviceName: "",
serviceType: serviceType,
queryPurpose: query,
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serverOrgCategoryCode: this.formData.categoryCode,
serverParentOrgCategoryCode:this.formData.parentCategoryCode,
serverOrgType: serviceType,
};
await this.$http
.post("/governance/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("网络错误");
});
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
this.serviceOptiondList = data;
} else if (code >= 8000) {
this.$message.error(msg);
}
},
//
async handlePersonList (row) {
@ -799,8 +752,7 @@ export default {
resetSearch () {
this.formData = {
serviceTypeLevel1Id:'',// id
serviceTypeLevel2Id:'',// id
categoryCode:'',
serviceName: '',//
serviceOrgType: '',//
serviceOrgId: '',//Id
@ -814,7 +766,10 @@ export default {
this.pageNo = 1
this.getTableData()
},
handleCateCHange(val) {
this.formData.parentCategoryCode = val[0];
this.formData.categoryCode = val[1];
},
//
onMultiSelect(row) {
this.multiSelectedRows = row;

200
src/views/modules/communityService/gangweizhaoren/addForm.vue

@ -12,43 +12,15 @@
:rules="dataRule"
class="div_form"
>
<el-form-item
label="服务类别"
style="display: block"
label-width="150px"
prop="serviceTypeLevel2Id"
>
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel1Id"
placeholder="请选择"
clearable
@change="handleChangeServiceTypeLevel1"
>
<el-option
v-for="item in serviceTypesLevel1"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
-
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel2Id"
placeholder="请选择"
@change="handleChangeServiceTypeLevel2"
<el-form-item label="需求类型" prop="categoryCode" label-width="150px">
<el-cascader
v-model="formData.categoryCode"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
clearable
>
<el-option
v-for="item in serviceTypesLevel2"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
size="small"
class="u-item-width-normal"
></el-cascader>
</el-form-item>
<!-- <el-form-item label="政策依据"
prop="policyId"
@ -124,7 +96,7 @@
</el-button>
</el-form-item>
<el-form-item
label="服务"
label="服务组织"
prop="serviceOrgId"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
@ -164,7 +136,7 @@
</el-form-item>
<el-form-item
prop="noticeApproches"
label="自动通知服务"
label="自动通知服务组织"
label-width="150px"
style="display: block"
>
@ -336,7 +308,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"
@ -420,10 +392,7 @@ export default {
return time.getTime() < nowData;
};
return {
//
serviceTypesLevel1: [],
serviceTypesLevel2: [],
btnDisable: false,
casOptions: [],
scopeIdArray: [],
@ -440,15 +409,15 @@ export default {
keyWords: "",
formData: {
serviceTypeLevel1Id: "", // id
serviceTypeLevel2Id: "", // id
categoryCode:[],
parentCategoryCode:'',
resiSearchTagId: "", //
resiSearchTagName: "", //
serviceName: "", //
noticeApproches: [], //
noticeApproches: [], //
policyId: "", //
serviceOrgType: "", // community_org ic_user_volunteer party_unit
serviceOrgId: "", //Id
serviceOrgType: "", // community_org ic_user_volunteer party_unit
serviceOrgId: "", //Id
gridIdList: [], //
principalName: "", //()
principalContact: "", //
@ -469,14 +438,14 @@ export default {
},
sarr: [],
dataRule: {
serviceTypeLevel2Id: [
categoryCode: [
{ required: true, message: "服务类别不能为空", trigger: "change" },
],
serviceName: [
{ required: true, message: "服务事项不能为空", trigger: "change" },
],
serviceOrgId: [
{ required: true, message: "服务不能为空", trigger: "change" },
{ required: true, message: "服务组织不能为空", trigger: "change" },
],
serviceTimeStart: [
@ -535,6 +504,7 @@ export default {
],
showLabelForm: false,
showFeedback: false,
demandOptions:[]
};
},
@ -589,25 +559,55 @@ export default {
}
await this.iniDefaultData();
await this.getDemandOptions()
this.endLoading();
//
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
console.log(res.data);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
methods: {
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
).filter((item) => item.categoryCode == '1044');
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
handelDisabledRules(v) {
if (!v) {
delete this.dataRule.resiSearchTagId;
@ -634,16 +634,17 @@ export default {
if (code === 0) {
this.formData = { ...data };
if (data.categoryCode) {
this.formData.categoryCode = [data.parentCategoryCode, data.categoryCode];
} else {
this.formData.categoryCode = [data.parentCategoryCode];
}
if(!data.noticeApproches){
this.formData.noticeApproches = [];
}
this.scopeIdArray = data.gridIdList.map(i => i.objectId);
this.formData.serviceTypeLevel1Id = data.serviceTypeLevel1Id;
this.handleChangeServiceTypeLevel1();
this.formData.serviceTypeLevel2Id = data.serviceTypeLevel2Id;
this.feedbackFormData = { ...data.feedback };
await this.getServiceuserList(data.serviceOrgType);
await this.getTagName();
// this.fileList = []
// if (data.feedback && data.feedback.fileList && data.feedback.fileList.length > 0) {
@ -675,35 +676,6 @@ export default {
this.$message.error(msg);
}
},
//
handleChangeServiceTypeLevel1() {
this.formData.serviceTypeLevel2Id = "";
this.$http
.get(
"/governance/commonServiceType/selectList/" +
this.formData.serviceTypeLevel1Id
)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
//
handleChangeServiceTypeLevel2() {
console.log(this.formData.serviceTypeLevel1Id);
console.log(this.formData.serviceTypeLevel2Id);
if (this.formData.serviceOrgType) {
this.getServiceuserList(this.formData.serviceOrgType);
} else {
return;
}
},
handleClickLabel() {
this.showLabelForm = true;
this.$nextTick(() => {
@ -774,7 +746,6 @@ export default {
},
async iniDefaultData() {
const { defaultData } = this;
console.log("iniDefaultData3", defaultData);
if (defaultData) {
const { serviceOrgType, serviceOrgId, scopeIdArray } = defaultData;
if (serviceOrgType) {
@ -822,7 +793,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceOptions = res.data;
this.serviceOptions = res.data.filter(item=>item.value == 'party_unit'||item.value == 'community_org');
}
})
.catch(() => {
@ -847,7 +818,6 @@ export default {
// }
// },
async handleServiceChange(type, val) {
console.log(val);
if (val === "social_org") {
if (type === "add") await this.getServiceuserList(val);
else this.getServiceuserList(val);
@ -856,15 +826,15 @@ export default {
async getServiceuserList(serverOrgType) {
if (!serverOrgType) return false;
if (this.formData.serviceTypeLevel2Id == "") {
if (this.formData.categoryCode.length === 0) {
this.$message.error("请先选择服务类别!");
return;
}
const url = "/actual/base/serviceitem/listServerOrg";
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serviceTypeId: this.formData.serviceTypeLevel2Id,
serverOrgCategoryCode: this.formData.categoryCode[1],
serverParentOrgCategoryCode:this.formData.categoryCode[0],
serverOrgType: serverOrgType,
businessType: "common_service",
};
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
@ -988,7 +958,23 @@ export default {
}
// const url = 'http://yapi.elinkservice.cn/mock/245/governance/icServiceProject/service/initiate'
let params = {
...this.formData,
categoryCode:this.formData.categoryCode[1]?this.formData.categoryCode[1]:'',
parentCategoryCode:this.formData.categoryCode[0],
resiSearchTagId: this.formData.resiSearchTagId,
resiSearchTagName: this.formData.resiSearchTagName,
serviceName: this.formData.serviceName,
noticeApproches: this.formData.noticeApproches,
policyId: this.formData.policyId,
serviceOrgType: this.formData.serviceOrgType,
serviceOrgId: this.formData.serviceOrgId,
objList: this.formData.gridIdList,
principalName: this.formData.principalName,
principalContact: this.formData.principalContact,
serviceTimeStart: this.formData.serviceTimeStart,
serviceTimeEnd: this.formData.serviceTimeEnd,
remark: this.formData.remark,
feedback:this.formData.feedback,
serviceRecordId:this.serviceRecordId
};
delete params.serviceTypeLevel1Id;
const { data, code, msg } = await requestPost(url, params);
@ -1008,8 +994,8 @@ export default {
resetData() {
this.formData = {
serviceTypeLevel1Id: "", // id
serviceTypeLevel2Id: "", // id
categoryCode:[],
parentCategoryCode:'',
gridIdList: [], //
principalName: "", //()
principalContact: "", //

2
src/views/modules/communityService/gangweizhaoren/editForm.vue

@ -343,7 +343,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"

149
src/views/modules/communityService/gangweizhaoren/index.vue

@ -6,36 +6,17 @@
:model="formData"
ref="ref_searchform"
:label-width="'100px'">
<el-form-item prop="serviceType"
label="服务类别"
>
<el-select class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel1Id"
placeholder="请选择"
size="small"
clearable>
<el-option v-for="item in serviceTypesLevel1"
@click.native="handleChangeServiceTypeLevel1"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="serviceType">
<el-select class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel2Id"
placeholder="请选择"
size="small"
clearable>
<el-option v-for="item in serviceTypesLevel2"
@click.native=""
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="服务类别" prop="categoryCode">
<el-cascader
v-model="formData.categoryCode"
class="u-item-width-daterange2"
size="small"
:options="searchdemandOptions"
:props="{ checkStrictly: true, label: 'categoryName', value: 'categoryCode', children: 'childCateList' }"
clearable
@change="handleCateCHange"
></el-cascader>
</el-form-item>
<el-form-item label="服务时间"
prop="serviceTimeStart">
@ -190,7 +171,7 @@
align="center"
width="50" />
<el-table-column prop="serviceTypeName"
<el-table-column prop="categoryAllName"
label="服务类型"
align="center"
:show-overflow-tooltip="true">
@ -222,7 +203,7 @@
<el-table-column prop="serviceOrgName"
align="center"
min-width="150"
label="服务"
label="服务组织"
:show-overflow-tooltip="true">
</el-table-column>
@ -411,9 +392,6 @@ export default {
}
return {
//
serviceTypesLevel1:[],
serviceTypesLevel2:[],
tableLoading: false,
user: {},
agencyId: '',
@ -447,8 +425,8 @@ export default {
],
formData: {
serviceTypeLevel1Id:'',// id
serviceTypeLevel2Id:'',// id
categoryCode:'',
parentCategoryCode:'',
serviceName: '',//
serviceOrgType: '',//
serviceOrgId: '',//Id
@ -488,7 +466,8 @@ export default {
ruleList: [],
//
multiSelectedRows: []
multiSelectedRows: [],
searchdemandOptions:[]
};
},
computed: {
@ -515,26 +494,44 @@ export default {
this.agencyId = this.user.agencyId
this.getDictOptions()
this.getTableData();
this.getDemandOptions()
},
methods: {
//
handleChangeServiceTypeLevel1() {
this.formData.serviceTypeLevel2Id = ''
async getDemandOptions() {
this.$http
.get("/governance/commonServiceType/selectList/" + this.formData.serviceTypeLevel1Id)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
})
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.searchdemandOptions = this.getTreeData(res.data).filter((item) => item.categoryCode == '1043');
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
handleCateCHange(val) {
this.formData.parentCategoryCode = val[0];
this.formData.categoryCode = val[1];
},
handleSearch (val) {
console.log(this.formData);
this.pageNo = 1;
@ -551,23 +548,10 @@ export default {
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.serviceOptions = data;
this.serviceOptions = data.filter(item=>item.value == 'party_unit'||item.value == 'community_org');
} else {
this.$message.error(msg)
}
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
handleServiceChange (type, val) {
@ -585,24 +569,18 @@ export default {
async getServiceuserList (serviceType, query) {
if (!serviceType) return false;
const params = {
serviceName: "",
serviceType: serviceType,
queryPurpose: query,
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serverOrgCategoryCode: this.formData.categoryCode,
serverParentOrgCategoryCode:this.formData.parentCategoryCode,
serverOrgType: serviceType,
};
await this.$http
.post("/governance/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("网络错误");
});
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
this.serviceOptiondList = data;
} else if (code >= 8000) {
this.$message.error(msg);
}
},
//
async handlePersonList (row) {
@ -799,8 +777,7 @@ export default {
resetSearch () {
this.formData = {
serviceTypeLevel1Id:'',// id
serviceTypeLevel2Id:'',// id
categoryCode:'',
serviceName: '',//
serviceOrgType: '',//
serviceOrgId: '',//Id

232
src/views/modules/communityService/gxxq/addForm.vue

@ -12,50 +12,18 @@
class="div_form"
>
<!-- 需求类别 -->
<el-form-item
label="需求类别"
style="display: block"
label-width="150px"
prop="commonServiceTypeId"
>
<input
type="text"
v-model="formData.commonServiceTypeName"
v-show="false"
/>
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel1Id"
placeholder="请选择"
clearable
@change="handleChangeServiceTypeLevel1"
>
<el-option
v-for="item in serviceTypesLevel1"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
-
<el-select
class="u-item-width-communitycascader"
v-model="formData.commonServiceTypeId"
placeholder="请选择"
@change="handleChangeServiceTypeLevel2"
<el-form-item label="需求类型" prop="categoryCode" label-width="150px">
<el-cascader
v-model="formData.categoryCode"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
clearable
>
<el-option
v-for="item in serviceTypesLevel2"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
size="small"
ref="myCategoryCode"
class="u-item-width-normal"
@change="handelChangeCategoryCode"
></el-cascader>
</el-form-item>
<el-form-item
label="需求标题"
prop="title"
@ -118,7 +86,7 @@
<el-form :model="newFormData" :rules="newDataRule" ref="ref_gxxq_form1" class="div_form">
<el-form-item
v-if="formData.assignFlag"
label="服务"
label="服务组织"
label-width="150px"
style="display: block"
prop="serverOrgId"
@ -158,7 +126,7 @@
<el-form-item
v-if="formData.assignFlag"
prop="noticeApproches"
label="自动通知服务"
label="自动通知服务组织"
label-width="150px"
style="display: block"
>
@ -238,7 +206,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"
@ -316,14 +284,14 @@ export default {
return {
//
serviceTypesLevel1: [],
serviceTypesLevel2: [],
formType: "",
btnDisable: false,
casOptions: [],
scopeIdArray: [],
iscascaderShow: 0,
demandOptions:[],
optionProps: {
multiple: true,
value: "objectId",
@ -334,8 +302,8 @@ export default {
},
newArr: [],
formData: {
serviceTypeLevel1Id: "", // id
commonServiceTypeId: "", // id
categoryCode:[],
parentCategoryCode:'',
assignFlag: 0,
resiSearchTagId: "", //
resiSearchTagName: "", //
@ -351,7 +319,7 @@ export default {
},
newFormData: {
noticeApproches: [], //
serviceScopeList: [], //
serviceScopeList: [], //
serviceTimeStart: "", //yyyy-MM-dd
serviceTimeEnd: "", //yyyy-MM-dd
serverOrgType: "", // community_org ic_user_volunteer party_unit
@ -372,10 +340,13 @@ export default {
resiSearchTagId: [
{ required: false, message: "指派人员不能为空", trigger: "bulr" },
],
categoryCode: [
{ required: true, message: "需求分类不能为空", trigger: "bulr" },
],
},
newDataRule: {
serverOrgId: [
{ required: true, message: "服务不能为空", trigger: "bulr" },
{ required: true, message: "服务组织不能为空", trigger: "bulr" },
],
serviceScopeList: [
{ required: true, message: "服务范围不能为空", trigger: "bulr" },
@ -387,10 +358,20 @@ export default {
sarr: [],
scopeId: "",
serviceOptions: [],
originalServiceOptions:[],
serviceOptiondList: [],
policyList: [],
showLabelForm: false,
codeFilters: {
'1038': ['party_unit', 'community_org'],
'1039': ['party_unit', 'community_org'],
'1040': ['party_unit', 'community_org'],
'1041': ['party_unit', 'community_org', 'publicWelfare'],
'1042': ['party_unit', 'community_org', 'publicWelfare'],
'1043': ['party_unit', 'community_org', 'publicWelfare'],
'1044': ['party_unit', 'community_org'],
},
};
},
@ -413,46 +394,37 @@ export default {
created() {},
async mounted() {
this.startLoading();
// prop
// this.getCategrayList();
await this.getPolicyList();
await this.loadScopeTree();
await this.getDictOptions();
await this.endLoading();
await this.getDemandOptions()
this.endLoading();
//
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
methods: {
async initForm(type, row) {
initForm(type, row) {
this.formType = type;
this.scopeId = row.id;
await this.getDetail(row.id);
this.$nextTick(()=>{
this.getDetail(row.id);
})
},
async getDetail(id) {
const url = `/governance/commonDemand/detail/${id}`;
const { data, code, msg } = await requestGet(url);
if (code === 0) {
this.formData.serviceTypeLevel1Id = data.servicePid;
this.formData.commonServiceTypeId = data.commonServiceTypeId;
this.formData.title = data.title;
this.formData.content = data.content;
this.formData.assignFlag = data.assignFlag;
this.formData.resiSearchTagId = data.resiSearchTagId;
if (data.categoryCode) {
this.formData.categoryCode = [data.parentCategoryCode, data.categoryCode];
} else {
this.formData.categoryCode = [data.parentCategoryCode];
}
if (data.assignInfo) {
this.newFormData.serviceTimeStart = data.assignInfo.serviceTimeStart;
this.newFormData.serviceTimeEnd = data.assignInfo.serviceTimeEnd;
@ -467,7 +439,6 @@ export default {
}
await this.getServiceuserList(data.assignInfo.serverOrgType);
}
await this.handleChangeServiceTypeLevel1();
await // this.formData = { ...data };
await this.getTagName();
@ -495,25 +466,8 @@ export default {
}
},
//
handleChangeServiceTypeLevel1() {
// this.formData.commonServiceTypeId = "";
this.$http
.get(
"/governance/commonServiceType/selectList/" +
this.formData.serviceTypeLevel1Id
)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
//
//
handleChangeServiceTypeLevel2() {
if (this.newFormData.serverOrgType) {
this.getServiceuserList(this.newFormData.serverOrgType);
@ -539,6 +493,18 @@ export default {
this.formData.resiSearchTagId = "";
this.formData.resiSearchTagName = "";
},
handelChangeCategoryCode() {
this.serviceOptions = [...this.originalServiceOptions];
const codeFilters = this.codeFilters;
console.log(this.serviceOptions);
const checkedCode = this.$refs['myCategoryCode'].getCheckedNodes()[0].parent.value;
console.log(checkedCode);
if (codeFilters[checkedCode] && Array.isArray(codeFilters[checkedCode])) {
this.serviceOptions = this.serviceOptions.filter(item => codeFilters[checkedCode].includes(item.value));
} else {
this.serviceOptions = this.originalServiceOptions;
}
},
async iniDefaultData() {
const { defaultData } = this;
console.log("iniDefaultData3", defaultData);
@ -572,34 +538,92 @@ export default {
}
},
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.originalServiceOptions = [...res.data];
console.log(this.originalServiceOptions);
if (this.formType == 'edit') {
this.$nextTick(() => {
const code = this.$refs['myCategoryCode'].checkedValue[0];
const filterOptions = (filterCodes) => {
this.serviceOptions = res.data.filter(item => filterCodes.includes(item.value));
};
if (code && this.codeFilters[code]) {
filterOptions(this.codeFilters[code]);
}
});
}else{
this.serviceOptions = res.data;
}
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
async getDemandOptions() {
this.$http
.post("/sys/dict/data/dictlist", {
dictType: "user_demand_service_type",
})
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceOptions = res.data;
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
async handleServiceChange(type, val) {
this.newFormData.serverOrgId = ''
await this.getServiceuserList(val);
},
async getServiceuserList(serverOrgType) {
if (this.formData.commonServiceTypeId == "" || !serverOrgType) return;
const url = "/actual/base/serviceitem/listServerOrg";
if (this.formData.categoryCode.length === 0) return;
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serviceTypeId: this.formData.commonServiceTypeId,
serverOrgCategoryCode: this.formData.categoryCode[1],
serverParentOrgCategoryCode:this.formData.categoryCode[0],
serverOrgType: serverOrgType,
businessType: "common_service",
};
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
@ -625,6 +649,7 @@ export default {
this.$message.error(rspMsg);
}
},
//null
handleData(data) {
for (let i = 0; i < data.length; i++) {
@ -691,7 +716,7 @@ export default {
},
async addFuwu() {
// ,'0'
// ,'0'
if (this.newFormData.noticeApproches.length == 0) {
this.newFormData.noticeApproches.push(0);
}
@ -731,6 +756,8 @@ export default {
commonServiceTypeId: this.formData.commonServiceTypeId,
resiSearchTagId: this.formData.resiSearchTagId,
assignFlag: this.formData.assignFlag,
categoryCode:this.formData.categoryCode[1]?this.formData.categoryCode[1]:'',
parentCategoryCode:this.formData.categoryCode[0]
};
if (this.formData.assignFlag === 1) {
@ -801,6 +828,7 @@ export default {
}
},
},
computed:{}
};
</script>

6
src/views/modules/communityService/gxxq/detailForm.vue

@ -5,7 +5,7 @@
<div class="m-info">
<div class="info-prop">
<span class="info-title-2">需求类别: </span>
<span>{{ ServiceTypeName || "--" }}</span>
<span>{{ formData.allCategoryName || "--" }}</span>
</div>
<!-- <div class="info-prop">
@ -39,7 +39,7 @@
}}</span>
</div>
<div class="info-prop" v-if="formData.assignFlag == 1">
<span class="info-title-2">服务</span>
<span class="info-title-2">服务组织</span>
<span>{{ serverOrgType }} - {{serverOrgName}}</span>
</div>
<div class="info-prop">
@ -153,8 +153,6 @@ export default {
console.log(data);
this.formData = { ...data };
this.formData.gxxqId = this.gxxqId;
let name = this.serviceTypesLevel1.filter(item=>item.id == data.servicePid)[0].name
this.ServiceTypeName = name +'-'+ this.commonServiceTypeName
await this.getTagName();
} else {
this.$message.error(msg);

93
src/views/modules/communityService/gxxq/index.vue

@ -7,43 +7,16 @@
ref="ref_searchform"
:label-width="'100px'"
>
<el-form-item prop="serviceType" label="需求类别">
<el-select
class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel1Id"
placeholder="请选择"
<el-form-item label="需求分类" prop="categoryCode">
<el-cascader
v-model="formData.categoryCode"
class="u-item-width-daterange2"
size="small"
:options="searchdemandOptions"
:props="{ checkStrictly: true,label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
clearable
>
<el-option
v-for="item in serviceTypesLevel1"
@click.native="handleChangeServiceTypeLevel1"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
<span class="u-data-tag"></span>
</el-form-item>
<el-form-item prop="serviceType">
<el-select
class="u-item-width-daterange"
v-model.trim="formData.commonServiceTypeId"
placeholder="请选择"
size="small"
clearable
>
<el-option
v-for="item in serviceTypesLevel2"
@click.native=""
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
@change="handleCateCHange"
></el-cascader>
</el-form-item>
<el-form-item label="需求标题" prop="title">
@ -280,6 +253,7 @@ import { mapGetters } from "vuex";
import addForm from "./addForm.vue";
import detailForm from "./detailForm.vue";
import axios from "axios";
import nextTick from "dai-js/tools/nextTick";
export default {
data() {
let endDisabledDate = (time) => {
@ -311,8 +285,8 @@ export default {
gxxqId: "",
formData: {
title: "",
serviceTypeLevel1Id: "",
commonServiceTypeId: "",
categoryCode:"",
parentCategoryCode:"",
timeStart: "",
timeEnd: "",
assignFlag: "",
@ -344,6 +318,7 @@ export default {
formShow: false,
formTitle: "",
rowObj: {},
searchdemandOptions:[]
};
},
created() {},
@ -356,7 +331,7 @@ export default {
pageSize: this.pageSize,
...this.formData,
};
let { data, msg, code } = await requestGet(url, params);
let { data, msg, code } = await requestPost(url, params);
this.tableLoading = false;
if (code == 0) {
this.tableData = data.list;
@ -462,8 +437,8 @@ export default {
resetSearch() {
this.formData = {
title: "",
serviceTypeLevel1Id: "",
commonServiceTypeId: "",
categoryCode:"",
parentCategoryCode:"",
timeStart: "",
timeEnd: "",
assignFlag: "",
@ -535,29 +510,51 @@ export default {
return this.$message.error("网络错误");
});
},
//
handleChangeServiceTypeLevel1() {
this.formData.commonServiceTypeId = "";
handleCateCHange(val) {
if (val.length === 1) {
this.searchdemandOptions.forEach((item) => {
if (item.value == val[0]) this.formData.parentCategoryCode = item.pvalue;
});
this.formData.categoryCode = val[0];
} else {
this.formData.parentCategoryCode = val[0];
this.formData.categoryCode = val[1];
}
},
async getDemandOptions() {
this.$http
.get(
"/governance/commonServiceType/selectList/" +
this.formData.serviceTypeLevel1Id
)
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
this.searchdemandOptions = this.getTreeData(res.data);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
},
mounted() {
this.getCommonDemandList();
this.getDictOptions();
this.getDemandOptions()
},
computed: {
...mapGetters(["clientHeight", "iframeHeight"]),

201
src/views/modules/communityService/jinengzhaoren/addForm.vue

@ -12,43 +12,15 @@
:rules="dataRule"
class="div_form"
>
<el-form-item
label="服务类别"
style="display: block"
label-width="150px"
prop="serviceTypeLevel2Id"
>
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel1Id"
placeholder="请选择"
clearable
@change="handleChangeServiceTypeLevel1"
>
<el-option
v-for="item in serviceTypesLevel1"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
-
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel2Id"
placeholder="请选择"
@change="handleChangeServiceTypeLevel2"
<el-form-item label="需求类型" prop="categoryCode" label-width="150px">
<el-cascader
v-model="formData.categoryCode"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
clearable
>
<el-option
v-for="item in serviceTypesLevel2"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
size="small"
class="u-item-width-normal"
></el-cascader>
</el-form-item>
<!-- <el-form-item label="政策依据"
prop="policyId"
@ -124,7 +96,7 @@
</el-button>
</el-form-item>
<el-form-item
label="服务"
label="服务组织"
prop="serviceOrgId"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
@ -164,7 +136,7 @@
</el-form-item>
<el-form-item
prop="noticeApproches"
label="自动通知服务"
label="自动通知服务组织"
label-width="150px"
style="display: block"
>
@ -336,7 +308,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"
@ -420,10 +392,6 @@ export default {
return time.getTime() < nowData;
};
return {
//
serviceTypesLevel1: [],
serviceTypesLevel2: [],
btnDisable: false,
casOptions: [],
scopeIdArray: [],
@ -440,15 +408,15 @@ export default {
keyWords: "",
formData: {
serviceTypeLevel1Id: "", // id
serviceTypeLevel2Id: "", // id
categoryCode:[],
parentCategoryCode:'',
resiSearchTagId: "", //
resiSearchTagName: "", //
serviceName: "", //
noticeApproches: [], //
noticeApproches: [], //
policyId: "", //
serviceOrgType: "", // community_org ic_user_volunteer party_unit
serviceOrgId: "", //Id
serviceOrgType: "", // community_org ic_user_volunteer party_unit
serviceOrgId: "", //Id
gridIdList: [], //
principalName: "", //()
principalContact: "", //
@ -470,14 +438,14 @@ export default {
},
sarr: [],
dataRule: {
serviceTypeLevel2Id: [
categoryCode: [
{ required: true, message: "服务类别不能为空", trigger: "change" },
],
serviceName: [
{ required: true, message: "服务事项不能为空", trigger: "change" },
],
serviceOrgId: [
{ required: true, message: "服务不能为空", trigger: "change" },
{ required: true, message: "服务组织不能为空", trigger: "change" },
],
serviceTimeStart: [
@ -536,6 +504,7 @@ export default {
],
showLabelForm: false,
showFeedback: false,
demandOptions:[]
};
},
@ -588,27 +557,56 @@ export default {
} else if (this.formType == "edit") {
this.loadInfo();
}
await this.getDemandOptions()
await this.iniDefaultData();
this.endLoading();
//
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
console.log(res.data);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
methods: {
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
).filter((item) => item.categoryCode == '1043');
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
handelDisabledRules(v) {
if (!v) {
delete this.dataRule.resiSearchTagId;
@ -635,16 +633,17 @@ export default {
if (code === 0) {
this.formData = { ...data };
if (data.categoryCode) {
this.formData.categoryCode = [data.parentCategoryCode, data.categoryCode];
} else {
this.formData.categoryCode = [data.parentCategoryCode];
}
if(!data.noticeApproches){
this.formData.noticeApproches = [];
}
this.scopeIdArray = data.gridIdList.map(i => i.objectId);
this.formData.serviceTypeLevel1Id = data.serviceTypeLevel1Id;
this.handleChangeServiceTypeLevel1();
this.formData.serviceTypeLevel2Id = data.serviceTypeLevel2Id;
this.feedbackFormData = { ...data.feedback };
await this.getServiceuserList(data.serviceOrgType);
await this.getTagName();
// this.fileList = []
// if (data.feedback && data.feedback.fileList && data.feedback.fileList.length > 0) {
@ -676,35 +675,6 @@ export default {
this.$message.error(msg);
}
},
//
handleChangeServiceTypeLevel1() {
this.formData.serviceTypeLevel2Id = "";
this.$http
.get(
"/governance/commonServiceType/selectList/" +
this.formData.serviceTypeLevel1Id
)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
//
handleChangeServiceTypeLevel2() {
console.log(this.formData.serviceTypeLevel1Id);
console.log(this.formData.serviceTypeLevel2Id);
if (this.formData.serviceOrgType) {
this.getServiceuserList(this.formData.serviceOrgType);
} else {
return;
}
},
handleClickLabel() {
this.showLabelForm = true;
this.$nextTick(() => {
@ -774,7 +744,6 @@ export default {
},
async iniDefaultData() {
const { defaultData } = this;
console.log("iniDefaultData3", defaultData);
if (defaultData) {
const { serviceOrgType, serviceOrgId, scopeIdArray } = defaultData;
if (serviceOrgType) {
@ -822,7 +791,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceOptions = res.data;
this.serviceOptions = res.data.filter(item=>item.value == 'party_unit'||item.value == 'community_org'||item.value == 'publicWelfare');
}
})
.catch(() => {
@ -847,7 +816,6 @@ export default {
// }
// },
async handleServiceChange(type, val) {
console.log(val);
if (val === "social_org") {
if (type === "add") await this.getServiceuserList(val);
else this.getServiceuserList(val);
@ -856,15 +824,15 @@ export default {
async getServiceuserList(serverOrgType) {
if (!serverOrgType) return false;
if (this.formData.serviceTypeLevel2Id == "") {
if (this.formData.categoryCode.length === 0) {
this.$message.error("请先选择服务类别!");
return;
}
const url = "/actual/base/serviceitem/listServerOrg";
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serviceTypeId: this.formData.serviceTypeLevel2Id,
serverOrgCategoryCode: this.formData.categoryCode[1],
serverParentOrgCategoryCode:this.formData.categoryCode[0],
serverOrgType: serverOrgType,
businessType: "common_service",
};
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
@ -988,9 +956,24 @@ export default {
}
// const url = 'http://yapi.elinkservice.cn/mock/245/governance/icServiceProject/service/initiate'
let params = {
...this.formData,
categoryCode:this.formData.categoryCode[1]?this.formData.categoryCode[1]:'',
parentCategoryCode:this.formData.categoryCode[0],
resiSearchTagId: this.formData.resiSearchTagId,
resiSearchTagName: this.formData.resiSearchTagName,
serviceName: this.formData.serviceName,
noticeApproches: this.formData.noticeApproches,
policyId: this.formData.policyId,
serviceOrgType: this.formData.serviceOrgType,
serviceOrgId: this.formData.serviceOrgId,
objList: this.formData.gridIdList,
principalName: this.formData.principalName,
principalContact: this.formData.principalContact,
serviceTimeStart: this.formData.serviceTimeStart,
serviceTimeEnd: this.formData.serviceTimeEnd,
remark: this.formData.remark,
feedback:this.formData.feedback,
serviceRecordId:this.serviceRecordId
};
delete params.serviceTypeLevel1Id;
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("发起成功");
@ -1008,8 +991,8 @@ export default {
resetData() {
this.formData = {
serviceTypeLevel1Id: "", // id
serviceTypeLevel2Id: "", // id
categoryCode:[],
parentCategoryCode:'',
gridIdList: [], //
principalName: "", //()
principalContact: "", //

2
src/views/modules/communityService/jinengzhaoren/editForm.vue

@ -343,7 +343,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"

173
src/views/modules/communityService/jinengzhaoren/index.vue

@ -6,36 +6,17 @@
:model="formData"
ref="ref_searchform"
:label-width="'100px'">
<el-form-item prop="serviceType"
label="服务类别"
>
<el-select class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel1Id"
placeholder="请选择"
size="small"
clearable>
<el-option v-for="item in serviceTypesLevel1"
@click.native="handleChangeServiceTypeLevel1"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="serviceType">
<el-select class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel2Id"
placeholder="请选择"
size="small"
clearable>
<el-option v-for="item in serviceTypesLevel2"
@click.native=""
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="服务类别" prop="categoryCode">
<el-cascader
v-model="formData.categoryCode"
class="u-item-width-daterange2"
size="small"
:options="searchdemandOptions"
:props="{ checkStrictly: true, label: 'categoryName', value: 'categoryCode', children: 'childCateList' }"
clearable
@change="handleCateCHange"
></el-cascader>
</el-form-item>
<el-form-item label="服务时间"
prop="serviceTimeStart">
@ -190,7 +171,7 @@
align="center"
width="50" />
<el-table-column prop="serviceTypeName"
<el-table-column prop="categoryAllName"
label="服务类型"
align="center"
:show-overflow-tooltip="true">
@ -222,7 +203,7 @@
<el-table-column prop="serviceOrgName"
align="center"
min-width="150"
label="服务"
label="服务组织"
:show-overflow-tooltip="true">
</el-table-column>
@ -320,27 +301,6 @@
@handleOk="handleOk"
@handleClose="handleClose"></add-form>
</el-dialog>
<!-- 编辑与新增写在一个组件中 -->
<!-- <el-dialog v-if="showEdit"
:visible.sync="showEdit"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'编辑'"
:modal-append-to-body="false"
width="850px"
top="5vh"
class="dialog-h"
@closed="showEdit = false">
<edit-form ref="ref_edit_form"
:serviceRecordId="serviceRecordId"
:serviceOrgName="serviceOrgName"
:satisfyArray="satisfyArray"
:statusArray="statusArray"
@handleOk="handleOk"
@handleClose="handleClose"
:formType="formType">
</edit-form>
</el-dialog> -->
<el-dialog v-if="showDetail"
:visible.sync="showDetail"
:close-on-click-modal="false"
@ -385,12 +345,11 @@ import { mapGetters } from "vuex";
import axios from "axios";
import addForm from "./addForm";
import detailForm from "./detailForm.vue";
import editForm from "./editForm";
import feedBackForm from "./addForm";
import personList from "./personList";
//
export default {
components: { addForm, detailForm, feedBackForm, editForm, personList },
components: { addForm, detailForm, feedBackForm, personList },
data () {
@ -411,9 +370,6 @@ export default {
}
return {
//
serviceTypesLevel1:[],
serviceTypesLevel2:[],
tableLoading: false,
user: {},
agencyId: '',
@ -447,8 +403,8 @@ export default {
],
formData: {
serviceTypeLevel1Id:'',// id
serviceTypeLevel2Id:'',// id
categoryCode:'',
parentCategoryCode:'',
serviceName: '',//
serviceOrgType: '',//
serviceOrgId: '',//Id
@ -488,7 +444,8 @@ export default {
ruleList: [],
//
multiSelectedRows: []
multiSelectedRows: [],
searchdemandOptions:[]
};
},
computed: {
@ -515,24 +472,37 @@ export default {
this.agencyId = this.user.agencyId
this.getDictOptions()
this.getTableData();
this.getDemandOptions()
},
methods: {
//
handleChangeServiceTypeLevel1() {
this.formData.serviceTypeLevel2Id = ''
async getDemandOptions() {
this.$http
.get("/governance/commonServiceType/selectList/" + this.formData.serviceTypeLevel1Id)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
})
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.searchdemandOptions = this.getTreeData(res.data).filter((item) => item.categoryCode == '1043');
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
handleSearch (val) {
@ -551,25 +521,15 @@ export default {
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.serviceOptions = data;
this.serviceOptions = data.filter(item=>item.value == 'party_unit'||item.value == 'community_org'||item.value == 'publicWelfare');;
} else {
this.$message.error(msg)
}
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
handleCateCHange(val) {
this.formData.parentCategoryCode = val[0];
this.formData.categoryCode = val[1];
},
handleServiceChange (type, val) {
this.formData.serviceOrgId = ''
if (val === "social_org") {
@ -585,24 +545,18 @@ export default {
async getServiceuserList (serviceType, query) {
if (!serviceType) return false;
const params = {
serviceName: "",
serviceType: serviceType,
queryPurpose: query,
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serverOrgCategoryCode: this.formData.categoryCode,
serverParentOrgCategoryCode:this.formData.parentCategoryCode,
serverOrgType: serviceType,
};
await this.$http
.post("/governance/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("网络错误");
});
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
this.serviceOptiondList = data;
} else if (code >= 8000) {
this.$message.error(msg);
}
},
//
async handlePersonList (row) {
@ -799,8 +753,7 @@ export default {
resetSearch () {
this.formData = {
serviceTypeLevel1Id:'',// id
serviceTypeLevel2Id:'',// id
categoryCode:'',
serviceName: '',//
serviceOrgType: '',//
serviceOrgId: '',//Id

2
src/views/modules/communityService/labelConfig/addForm.vue

@ -111,7 +111,7 @@
</el-select>
</template>
</el-table-column>
<el-table-column label="对应值" align="center">
<el-table-column label="对应值" align="center" width="120">
<template slot-scope="scope">
<template v-for="item in scope.row.correspondingOpction">
<el-select

8
src/views/modules/communityService/labelConfig/index.vue

@ -49,11 +49,11 @@
</el-pagination>
</div>
</div>
</div>
</div>5
<el-dialog :visible.sync="formShow" :close-on-click-modal="false" :close-on-press-escape="false" :title="formTitle"
destroy-on-close width="950px" top="5vh" class="dialog-h" @closed="diaClose">
<add-form v-if="formShow" ref="Config_form" :row-obj="rowObj" @dialogCancle="addFormCancle"
@dialogOk="addFormOk"></add-form>
destroy-on-close width="954px" top="5vh" class="dialog-h" @closed="diaClose">
<!-- <add-form v-if="formShow" ref="Config_form" :row-obj="rowObj" @dialogCancle="addFormCancle"
@dialogOk="addFormOk"></add-form> -->
</el-dialog>
</div>
</template>

4
src/views/modules/communityService/measure/detail.vue

@ -15,7 +15,7 @@
<div class="m-info-prop">
<span class="u-info-title-3">需求类型</span>
<span>{{ dataForm.categoryName ?dataForm.categoryName :'--' }}</span>
<span>{{ dataForm.categoryAllName ?dataForm.categoryAllName :'--' }}</span>
</div>
<div class="m-info-prop">
@ -50,7 +50,7 @@
<span>{{ dataForm.content?dataForm.content:'--' }}</span>
</div>
<div class="m-info-prop">
<span class="u-info-title-3">服务</span>
<span class="u-info-title-3">服务组织</span>
<span>{{ dataForm.serviceShowName?dataForm.serviceShowName:'--' }}</span>
</div>
<div v-if="dataForm.status == 'canceled'"

68
src/views/modules/communityService/measure/index.vue

@ -35,7 +35,7 @@
class="u-item-width-daterange2"
size="small"
:options="searchdemandOptions"
:props="{ checkStrictly: true }"
:props="{ checkStrictly: true,label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
clearable
@change="handleCateCHange"
></el-cascader>
@ -341,7 +341,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="需求类" prop="categoryCode">
<el-form-item label="需求类" prop="parentCode">
<el-input
v-if="disabled"
v-model="form.categoryName"
@ -352,6 +352,7 @@
v-else
v-model="form.categoryCode"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
:disabled="disabled"
clearable
size="small"
@ -481,7 +482,7 @@
addType == 'finish' ||
(addType == 'look' && form.serviceShowFlag)
"
label="服务"
label="服务组织"
prop="serviceType"
>
<template v-if="disabled && addType !== 'appoint'">
@ -685,22 +686,7 @@ export default {
boxHeight:true,
serviceOptions: [
{
label: "志愿者",
value: "volunteer",
},
// {
// label: '',
// value: 'social_org'
// },
{
label: "社区自组织",
value: "community_org",
},
{
label: "区域党建单位",
value: "party_unit",
},
],
serviceOptiondList: [],
options: [
@ -757,7 +743,7 @@ export default {
},
{
label: "需求类型",
columnName: "categoryName",
columnName: "categoryAllName",
align: "center",
width: "",
options: [],
@ -815,7 +801,7 @@ export default {
options: [],
},
{
label: "服务",
label: "服务组织",
columnName: "serviceShowName",
align: "center",
width: "120",
@ -894,7 +880,7 @@ export default {
{ required: true, message: "服务时间不能为空", trigger: "blur" },
],
serviceType: [
{ required: true, message: "服务不能为空", trigger: "blur" },
{ required: true, message: "服务组织不能为空", trigger: "blur" },
],
serviceStartTime: [
{ required: true, message: "实际服务时间不能为空", trigger: "blur" },
@ -982,10 +968,8 @@ export default {
handleCateSlect(val) {
console.log("val", val);
if (val.length === 1) {
this.demandOptions.forEach((item) => {
if (item.value == val[0]) this.form.parentCode = item.pvalue;
});
this.form.categoryCode = val[0];
this.form.parentCode = val[0];
this.form.categoryCode = '';
} else {
this.form.parentCode = val[0];
this.form.categoryCode = val[1];
@ -1078,10 +1062,7 @@ export default {
}
if (addType == "edit") {
await this.getDemandUserList();
this.demandOptions.forEach((item) => {
if (item.value === row.categoryCode)
this.form.categoryCode = [row.categoryCode];
});
this.form.categoryCode = [row.parentCode,row.categoryCode];
this.demandUserList.forEach((item) => {
if (item.demandUserId == row.demandUserId)
this.selectDemandUser = item.label;
@ -1092,7 +1073,6 @@ export default {
},
async handleLook(row, type) {
this.detailShow = true;
console.log("row", row);
this.$nextTick(() => {
this.$refs.ref_form_detail.initForm(row);
});
@ -1197,16 +1177,8 @@ export default {
async editCate() {
const categoryCode = this.form.categoryCode;
if (Array.isArray(categoryCode)) {
if (categoryCode.length === 1) {
this.demandOptions.forEach((item) => {
if (item.value == categoryCode[0])
this.form.parentCode = item.pvalue;
});
this.form.categoryCode = categoryCode[0];
} else {
this.form.parentCode = categoryCode[0];
this.form.categoryCode = categoryCode[1];
}
this.form.categoryCode = categoryCode[1]? categoryCode[1]:'';
}
const _form = {
@ -1267,10 +1239,10 @@ export default {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.children) {
if (item.children.length === 0)
_item = { ...item, children: undefined };
else _item = { ...item, children: this.getTreeData(item.children) };
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
@ -1282,8 +1254,8 @@ export default {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.children)
return { ...item, children: this.getFlagData(item.children, flag) };
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
@ -1337,7 +1309,7 @@ export default {
async getDemandOptions() {
this.$http
.post("/governance/icresidemanddict/demandoption")
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
@ -1411,7 +1383,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceOptions = res.data;
this.serviceOptions = res.data.filter(item=>item.value != 'fifteen_mins_places');
}
})
.catch(() => {

2
src/views/modules/communityService/measure/info.vue

@ -267,7 +267,7 @@
(addType == 'look' && form.serviceShowFlag)
"
:class="{ 'form-item': source === 'visiual' }"
label="服务"
label="服务组织"
prop="serviceType"
>
<div :class="{ 'visiual-form': source === 'visiual' }">

239
src/views/modules/communityService/policy/addPolicy.vue

@ -10,45 +10,18 @@
class="div_form"
>
<!-- 政策类型 -->
<el-form-item
label="政策类型"
style="display: block"
label-width="150px"
prop="policyCategoryL2"
>
<el-select
class="cell-width-1"
v-model.trim="formData.policyCategoryL1"
placeholder="请选择"
clearable
>
<el-option
v-for="item in serviceTypesLevel1"
@click.native="handleChangeServiceTypeLevel1"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
-
<el-select
class="cell-width-1"
v-model.trim="formData.policyCategoryL2"
placeholder="请选择"
<el-form-item label="需求类型" prop="categoryCode" label-width="150px">
<el-cascader
ref="categoryCode"
v-model="formData.categoryCode"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
clearable
>
<el-option
v-for="item in serviceTypesLevel2"
@click.native=""
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
size="small"
class="u-item-width-normal"
@change="handelChangeCategoryCode"
></el-cascader>
</el-form-item>
<el-form-item
label="政策标题"
prop="title"
@ -196,7 +169,7 @@
<!-- 使用v-if后动态显示隐藏方法失效 -->
<el-form-item
v-if="formData.assignFlag"
label="服务"
label="服务组织"
label-width="150px"
style="display: block"
prop="serverOrgId"
@ -236,7 +209,7 @@
<el-form-item
v-if="formData.assignFlag"
prop="noticeApproches"
label="自动通知服务"
label="自动通知服务组织"
label-width="150px"
style="display: block"
>
@ -315,7 +288,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"
@ -372,8 +345,7 @@ export default {
policyLevelArray: [],
//
serviceTypesLevel1: [],
serviceTypesLevel2: [],
iscascaderShow: 0,
btnDisable: false,
@ -390,8 +362,8 @@ export default {
},
formData: {
policyCategoryL1: "", // id
policyCategoryL2: "",
categoryCode: [],
parentCategoryCode: "",
policyLevel: "", //
startDate: "", //yyyy-MM-dd
endDate: "", //yyyy-MM-dd
@ -423,7 +395,7 @@ export default {
},
newDataRule: {
serverOrgId: [
{ required: true, message: "服务不能为空", trigger: "bulr" },
{ required: true, message: "服务组织不能为空", trigger: "bulr" },
],
serviceScopeList: [
{ required: true, message: "服务范围不能为空", trigger: "bulr" },
@ -446,6 +418,9 @@ export default {
newArr: [],
sarr: [],
casOptions: [],
serviceOptions:[],
originalServiceOptions:[]
};
},
@ -464,12 +439,11 @@ export default {
await this.getDictOptions();
await this.loadScopeTree();
await this.loadDemandoption();
await this.getDemandOptions();
if (this.formType === "add") {
this.$refs.ref_form.resetFields();
} else {
await this.loadFormInfo();
await this.getCommonServiceTypeSelectList();
await this.getServiceuserList();
}
@ -477,17 +451,7 @@ export default {
},
methods: {
// addRule () {
// let obj = {
// name: '',
// detail: []
// }
// this.formData.ruleList.push(obj)
// },
// delRule (index) {
// this.formData.ruleList.splice(index, 1);
// },
//
async loadScopeTree() {
const url = "/gov/org/icServiceProject/service/serviceScopeTree";
@ -522,6 +486,11 @@ export default {
// this.formData.ruleList = data.ruleList
data.policyLevel = "" + data.policyLevel;
this.formData = data;
if (data.categoryCode) {
this.formData.categoryCode = [data.parentCategoryCode, data.categoryCode];
} else {
this.formData.categoryCode = [data.parentCategoryCode];
}
this.newFormData = data.assignInfo;
if (data.assignInfo) {
for (let i in data.assignInfo.serviceScopeList) {
@ -556,9 +525,29 @@ export default {
this.$message.error(msg);
}
},
handelChangeCategoryCode() {
this.serviceOptions = [...this.originalServiceOptions];
const parentMappings = {
'公益事业类': ['party_unit', 'community_org'],
'技能培训类': ['party_unit', 'community_org', 'publicWelfare'],
'教育讲座类': ['party_unit', 'community_org'],
'社会治理类': ['party_unit', 'community_org'],
'公共服务类': ['party_unit', 'community_org', 'publicWelfare'],
'设施维护类': ['party_unit', 'community_org', 'publicWelfare'],
'岗位提供类': ['party_unit', 'community_org'],
};
const checkedParent = this.$refs['categoryCode'].getCheckedNodes()[0].parent.label;
if (parentMappings[checkedParent] && Array.isArray(parentMappings[checkedParent])) {
this.serviceOptions = this.serviceOptions.filter(item => parentMappings[checkedParent].includes(item.value));
} else {
this.serviceOptions = this.originalServiceOptions
}
console.log(this.serviceOptions);
},
//
handleClickLabel() {
this.showLabelForm = true;
this.$refs['ref_form'].clearValidate('resiSearchTagId')
this.$nextTick(() => {
this.$refs["ref_label_form"].initForm("info");
});
@ -601,15 +590,15 @@ export default {
},
async getServiceuserList() {
if (!this.formData.assignFlag) return;
if (this.formData.commonServiceTypeId == "") {
if (this.formData.categoryCode.length==0) {
this.$message.error("请先选择需求类别!");
return;
}
const url = "/actual/base/serviceitem/listServerOrg";
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serviceTypeId: this.formData.policyCategoryL2,
serverOrgCategoryCode: this.formData.categoryCode[1],
serverParentOrgCategoryCode:this.formData.categoryCode[0],
serverOrgType: this.newFormData.serverOrgType ||this.formData.assignInfo.serverOrgType,
businessType: "common_service",
};
console.log(this.formData);
let { data, code, msg } = await requestPost(url, params);
@ -629,6 +618,8 @@ export default {
return this.$message.error(res.msg);
} else {
this.serviceOptions = res.data;
this.originalServiceOptions = [...this.serviceOptions];
}
})
.catch(() => {
@ -636,7 +627,6 @@ export default {
});
},
getDictOptions() {
//
this.$http
.post("/sys/dict/data/dictlist", {
dictType: "policy_level",
@ -652,19 +642,7 @@ export default {
return this.$message.error("网络错误");
});
//
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
//
@ -687,22 +665,6 @@ export default {
);
},
// handleCateSlect(val) {
// console.log("val", val);
// let arr = [];
// val.forEach((item) => {
// let obj = {
// codePath: item.join(","),
// categoryCode: item[item.length - 1],
// };
// arr.push(obj);
// });
// console.log("arr", arr);
// this.formData.categoryList = arr;
// },
async handleAdd() {
// var oDate1 = new Date(this.formData.startDate);
// var oDate2 = new Date(this.formData.endDate);
@ -792,6 +754,7 @@ export default {
},
async addFuwu() {
//
this.startLoading()
await this.operationOption();
this.formData.attachmentList = [...this.fileList]
let arr = []
@ -814,7 +777,7 @@ export default {
url = "/governance/policy/updatePolicy";
this.formData.policyId = this.policyId;
}
//nullnull?
if (this.formType == "copy" && this.formData.assignFlag == 0) {
this.formData.assignInfo = {
noticeApproches: [],
@ -828,13 +791,20 @@ export default {
}
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icServiceProject/service/initiate'
let params = {
...this.formData,
categoryCode:this.formData.categoryCode[1]?this.formData.categoryCode[1]:'',
parentCategoryCode:this.formData.categoryCode[0],
policyLevel:this.formData.policyLevel,
startDate:this.formData.startDate,
endDate:this.formData.endDate,
title:this.formData.title,
content:this.formData.content,
attachmentList:this.formData.attachmentList,
assignFlag:this.formData.assignFlag,
assignInfo:this.formData.assignInfo,
resiSearchTagId:this.formData.resiSearchTagId,
policyId:this.formData.policyId
};
delete params.policyCategoryL1;
delete params.resiSearchTagName;
console.log(params);
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("操作成功");
this.resetData();
@ -843,16 +813,45 @@ export default {
this.btnDisable = false;
this.$message.error(msg);
}
this.endLoading()
},
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.demandOptions = this.getFlagDatas(
this.getTreeData(res.data),
"usableFlag"
);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagDatas(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.children) {
if (item.children.length === 0)
_item = { ...item, children: undefined };
else _item = { ...item, children: this.getTreeData(item.children) };
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
@ -964,14 +963,18 @@ export default {
resetData() {
this.formData = {
serviceTypeLevel1Id: "",
serviceTypeLevel2Id: "",
categoryCode: [],
parentCategoryCode: "",
policyLevel: "", //
startDate: "", //yyyy-MM-dd
endDate: "", //yyyy-MM-dd
title: "", //
content: "", //
attachmentList: [],
resiSearchTagName: "", //
assignFlag: 0, //
resiSearchTagId: "", //id
assignInfo: {},
};
},
//
@ -991,32 +994,12 @@ export default {
},
//
handleChangeServiceTypeLevel1() {
this.formData.policyCategoryL2 = "";
this.getCommonServiceTypeSelectList()
},
getCommonServiceTypeSelectList(){
this.$http
.get(
"/governance/commonServiceType/selectList/" +
this.formData.policyCategoryL1
)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
},
computed: {
dataRule() {
return {
policyCategoryL2: [
categoryCode: [
{ required: true, message: "政策类型不能为空", trigger: "blur" },
],
policyLevel: [

199
src/views/modules/communityService/wennuanzhaoren/addForm.vue

@ -12,44 +12,16 @@
:rules="dataRule"
class="div_form"
>
<el-form-item
label="服务类别"
style="display: block"
label-width="150px"
prop="serviceTypeLevel2Id"
>
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel1Id"
placeholder="请选择"
clearable
@change="handleChangeServiceTypeLevel1"
>
<el-option
v-for="item in serviceTypesLevel1"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
-
<el-select
class="u-item-width-communitycascader"
v-model="formData.serviceTypeLevel2Id"
placeholder="请选择"
@change="handleChangeServiceTypeLevel2"
<el-form-item label="服务类别" prop="categoryCode" label-width="150px">
<el-cascader
v-model="formData.categoryCode"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList'}"
clearable
>
<el-option
v-for="item in serviceTypesLevel2"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
size="small"
class="u-item-width-normal"
></el-cascader>
</el-form-item>
<!-- <el-form-item label="政策依据"
prop="policyId"
label-width="150px"
@ -124,7 +96,7 @@
</el-button>
</el-form-item>
<el-form-item
label="服务"
label="服务组织"
prop="serviceOrgId"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
@ -164,7 +136,7 @@
</el-form-item>
<el-form-item
prop="noticeApproches"
label="自动通知服务"
label="自动通知服务组织"
label-width="150px"
style="display: block"
>
@ -336,7 +308,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"
@ -420,9 +392,6 @@ export default {
return time.getTime() < nowData;
};
return {
//
serviceTypesLevel1: [],
serviceTypesLevel2: [],
btnDisable: false,
casOptions: [],
@ -440,15 +409,15 @@ export default {
keyWords: "",
formData: {
serviceTypeLevel1Id: "", // id
serviceTypeLevel2Id: "", // id
categoryCode:[],
parentCategoryCode:'',
resiSearchTagId: "", //
resiSearchTagName: "", //
serviceName: "", //
noticeApproches: [], //
noticeApproches: [], //
policyId: "", //
serviceOrgType: "", // community_org ic_user_volunteer party_unit
serviceOrgId: "", //Id
serviceOrgType: "", // community_org ic_user_volunteer party_unit
serviceOrgId: "", //Id
gridIdList: [], //
principalName: "", //()
principalContact: "", //
@ -470,14 +439,14 @@ export default {
},
sarr: [],
dataRule: {
serviceTypeLevel2Id: [
categoryCode: [
{ required: true, message: "服务类别不能为空", trigger: "change" },
],
serviceName: [
{ required: true, message: "服务事项不能为空", trigger: "change" },
],
serviceOrgId: [
{ required: true, message: "服务不能为空", trigger: "change" },
{ required: true, message: "服务组织不能为空", trigger: "change" },
],
serviceTimeStart: [
@ -536,6 +505,7 @@ export default {
],
showLabelForm: false,
showFeedback: false,
demandOptions:[],
};
},
@ -583,6 +553,7 @@ export default {
this.getDictOptions();
this.getPolicyList();
await this.loadScopeTree();
await this.getDemandOptions()
if (this.formType === "add") {
this.$refs.ref_form.resetFields();
} else if (this.formType == "edit") {
@ -590,22 +561,8 @@ export default {
}
await this.iniDefaultData();
this.endLoading();
//
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
console.log(res.data);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
methods: {
@ -635,13 +592,15 @@ export default {
if (code === 0) {
this.formData = { ...data };
if (data.categoryCode) {
this.formData.categoryCode = [data.parentCategoryCode, data.categoryCode];
} else {
this.formData.categoryCode = [data.parentCategoryCode];
}
if(!data.noticeApproches){
this.formData.noticeApproches = [];
}
this.scopeIdArray = data.gridIdList.map(i => i.objectId);
this.formData.serviceTypeLevel1Id = data.serviceTypeLevel1Id;
this.handleChangeServiceTypeLevel1();
this.formData.serviceTypeLevel2Id = data.serviceTypeLevel2Id;
this.feedbackFormData = { ...data.feedback };
await this.getServiceuserList(data.serviceOrgType);
await this.getTagName();
@ -675,35 +634,7 @@ export default {
this.$message.error(msg);
}
},
//
handleChangeServiceTypeLevel1() {
this.formData.serviceTypeLevel2Id = "";
this.$http
.get(
"/governance/commonServiceType/selectList/" +
this.formData.serviceTypeLevel1Id
)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
//
handleChangeServiceTypeLevel2() {
console.log(this.formData.serviceTypeLevel1Id);
console.log(this.formData.serviceTypeLevel2Id);
if (this.formData.serviceOrgType) {
this.getServiceuserList(this.formData.serviceOrgType);
} else {
return;
}
},
handleClickLabel() {
this.showLabelForm = true;
this.$nextTick(() => {
@ -820,7 +751,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceOptions = res.data;
this.serviceOptions = res.data.filter(item=>item.value == 'party_unit'||item.value == 'community_org');
}
})
.catch(() => {
@ -844,6 +775,49 @@ export default {
// this.$message.error(msg);
// }
// },
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
).filter((item) => item.categoryCode == '1040');
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
async handleServiceChange(type, val) {
console.log(val);
if (val === "social_org") {
@ -854,15 +828,15 @@ export default {
async getServiceuserList(serverOrgType) {
if (!serverOrgType) return false;
if (this.formData.serviceTypeLevel2Id == "") {
this.$message.error("请先选择服务类别!");
if (this.formData.categoryCode.length === 0) {
this.$message.error("请先选择需求类型!");
return;
}
const url = "/actual/base/serviceitem/listServerOrg";
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serviceTypeId: this.formData.serviceTypeLevel2Id,
serverOrgCategoryCode: this.formData.categoryCode[1],
serverParentOrgCategoryCode:this.formData.categoryCode[0],
serverOrgType: serverOrgType,
businessType: "common_service",
};
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
@ -985,9 +959,24 @@ export default {
}
// const url = 'http://yapi.elinkservice.cn/mock/245/governance/icServiceProject/service/initiate'
let params = {
...this.formData,
categoryCode:this.formData.categoryCode[1]?this.formData.categoryCode[1]:'',
parentCategoryCode:this.formData.categoryCode[0],
resiSearchTagId: this.formData.resiSearchTagId,
resiSearchTagName: this.formData.resiSearchTagName,
serviceName: this.formData.serviceName,
noticeApproches: this.formData.noticeApproches,
policyId: this.formData.policyId,
serviceOrgType: this.formData.serviceOrgType,
serviceOrgId: this.formData.serviceOrgId,
objList: this.formData.gridIdList,
principalName: this.formData.principalName,
principalContact: this.formData.principalContact,
serviceTimeStart: this.formData.serviceTimeStart,
serviceTimeEnd: this.formData.serviceTimeEnd,
remark: this.formData.remark,
feedback:this.formData.feedback,
serviceRecordId:this.serviceRecordId
};
delete params.serviceTypeLevel1Id;
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("发起成功");
@ -1005,8 +994,6 @@ export default {
resetData() {
this.formData = {
serviceTypeLevel1Id: "", // id
serviceTypeLevel2Id: "", // id
gridIdList: [], //
principalName: "", //()
principalContact: "", //

2
src/views/modules/communityService/wennuanzhaoren/editForm.vue

@ -343,7 +343,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'标签配置'"
width="900px"
width="954px"
top="5vh"
class="dialog-h"
@closed="showLabelForm = false"

147
src/views/modules/communityService/wennuanzhaoren/index.vue

@ -6,36 +6,17 @@
:model="formData"
ref="ref_searchform"
:label-width="'100px'">
<el-form-item prop="serviceType"
label="服务类别"
>
<el-select class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel1Id"
placeholder="请选择"
size="small"
clearable>
<el-option v-for="item in serviceTypesLevel1"
@click.native="handleChangeServiceTypeLevel1"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="serviceType">
<el-select class="u-item-width-daterange"
v-model.trim="formData.serviceTypeLevel2Id"
placeholder="请选择"
size="small"
clearable>
<el-option v-for="item in serviceTypesLevel2"
@click.native=""
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="服务类别" prop="categoryCode">
<el-cascader
v-model="formData.categoryCode"
class="u-item-width-daterange2"
size="small"
:options="searchdemandOptions"
:props="{ checkStrictly: true, label: 'categoryName', value: 'categoryCode', children: 'childCateList' }"
clearable
@change="handleCateCHange"
></el-cascader>
</el-form-item>
<el-form-item label="服务时间"
prop="serviceTimeStart">
@ -190,7 +171,7 @@
align="center"
width="50" />
<el-table-column prop="serviceTypeName"
<el-table-column prop="categoryAllName"
label="服务类型"
align="center"
:show-overflow-tooltip="true">
@ -222,7 +203,7 @@
<el-table-column prop="serviceOrgName"
align="center"
min-width="150"
label="服务"
label="服务组织"
:show-overflow-tooltip="true">
</el-table-column>
@ -412,14 +393,14 @@ export default {
return {
//
serviceTypesLevel1:[],
serviceTypesLevel2:[],
tableLoading: false,
user: {},
agencyId: '',
searchH:0,
tableData: [],
searchdemandOptions:[],
statusArray: [
{
value: "in_service",
@ -447,8 +428,8 @@ export default {
],
formData: {
serviceTypeLevel1Id:'',// id
serviceTypeLevel2Id:'',// id
categoryCode:'',
parentCategoryCode:'',
serviceName: '',//
serviceOrgType: '',//
serviceOrgId: '',//Id
@ -515,26 +496,43 @@ export default {
this.agencyId = this.user.agencyId
this.getDictOptions()
this.getTableData();
this.getDemandOptions()
},
methods: {
//
handleChangeServiceTypeLevel1() {
this.formData.serviceTypeLevel2Id = ''
async getDemandOptions() {
this.$http
.get("/governance/commonServiceType/selectList/" + this.formData.serviceTypeLevel1Id)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel2 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
})
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.searchdemandOptions = this.getTreeData(res.data).filter((item) => item.categoryCode == '1040');
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
handleCateCHange(val) {
this.formData.parentCategoryCode = val[0];
this.formData.categoryCode = val[1];
},
handleSearch (val) {
console.log(this.formData);
this.pageNo = 1;
@ -551,23 +549,10 @@ export default {
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.serviceOptions = data;
this.serviceOptions = data.filter(item=>item.value == 'party_unit'||item.value == 'community_org');
} else {
this.$message.error(msg)
}
this.$http
.get("/governance/commonServiceType/selectList/0")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceTypesLevel1 = res.data;
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
handleServiceChange (type, val) {
@ -585,24 +570,18 @@ export default {
async getServiceuserList (serviceType, query) {
if (!serviceType) return false;
const params = {
serviceName: "",
serviceType: serviceType,
queryPurpose: query,
const url = "/actual/base/serviceitem/listServerOrgNewTask";
let params = {
serverOrgCategoryCode: this.formData.categoryCode,
serverParentOrgCategoryCode:this.formData.parentCategoryCode,
serverOrgType: serviceType,
};
await this.$http
.post("/governance/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("网络错误");
});
let { data, code, msg } = await requestPost(url, params);
if (code == 0) {
this.serviceOptiondList = data;
} else if (code >= 8000) {
this.$message.error(msg);
}
},
//
async handlePersonList (row) {
@ -799,8 +778,6 @@ export default {
resetSearch () {
this.formData = {
serviceTypeLevel1Id:'',// id
serviceTypeLevel2Id:'',// id
serviceName: '',//
serviceOrgType: '',//
serviceOrgId: '',//Id

2
src/views/modules/home/cpts/xuqiu-info.vue

@ -62,7 +62,7 @@
<el-form-item
v-if="dataForm.serviceShowName"
label="服务:"
label="服务组织:"
label-width="150px"
style="display: block"
>

2
src/views/modules/home/index.vue

@ -187,7 +187,7 @@ export default {
typePlaceholder: {
jumin: "请输入姓名或联系电话或证件号",
fangwu: "请输入小区名称或楼栋名称",
xuqiu: "请输入需求人或需求内容或服务",
xuqiu: "请输入需求人或需求内容或服务组织",
},
resiCategory: {

2
src/views/modules/portrayal/jumin/cpts/details/fwdetail.vue

@ -37,7 +37,7 @@
<span> {{ $sensitive(formData.principalContact, 3, 7) }}</span>
</div>
<div class="eventItem">
<span>服务</span>
<span>服务组织</span>
<span>{{ formData.principalName || '--' }}</span>
</div>
<div class="eventItem">

3
src/views/modules/satisfaction/communitySelfInsp/formList.vue

@ -176,7 +176,8 @@ export default {
...this.formData,
pageNo: this.pageNo,
pageSize: this.pageSize,
agencyId: this.communityId
agencyId: this.communityId,
period:this.period
};
let url = '/governance/satisfaction/communitySelfInsp/inspResult/list'
const { data, code, msg } = await requestGet(url, params)

4
src/views/modules/satisfaction/communitySelfInsp/index.vue

@ -132,7 +132,7 @@
</section>
<section class="bto-box">
<div id="myCharts" v-if="user.level != 'street'"></div>
<div id="myCharts" v-if="user.level == 'community'"></div>
<div v-else class="f-top16">
<el-table
:data="tableList"
@ -936,7 +936,7 @@ export default {
this.initData();
},
async initData() {
if (this.user.level != "street") {
if (this.user.level == "community") {
this.getCharts();
} else {
this.getTableData();

2
src/views/modules/shequ/chaxun.vue

@ -370,7 +370,7 @@ export default {
typePlaceholder: {
jumin: "请输入姓名或联系电话或证件号",
fangwu: "请输入小区名称或楼栋名称",
xuqiu: "请输入需求人或需求内容或服务",
xuqiu: "请输入需求人或需求内容或服务组织",
},
searchJumin: {

2
src/views/modules/shequ/cpts/xuqiu-info.vue

@ -62,7 +62,7 @@
<el-form-item
v-if="dataForm.serviceShowName"
label="服务:"
label="服务组织:"
label-width="150px"
style="display: block"
>

4
src/views/modules/shequ/index.vue

@ -607,7 +607,7 @@ export default {
typePlaceholder: {
jumin: "请输入姓名或联系电话或证件号",
fangwu: "请输入小区名称或楼栋名称",
xuqiu: "请输入需求人或需求内容或服务",
xuqiu: "请输入需求人或需求内容或服务组织",
},
selectedFuncIdList: [],
@ -748,7 +748,7 @@ export default {
options: [],
},
{
label: "服务",
label: "服务组织",
columnName: "serviceShowName",
align: "center",
width: "120",

4
src/views/modules/shequzhili/event/cpts/process-form-demand.vue

@ -147,7 +147,7 @@
</el-form-item>
<el-form-item label="服务"
<el-form-item label="服务组织"
:class="{'form-item':source==='visiual'}"
label-width="150px"
prop="serverId">
@ -283,7 +283,7 @@ export default {
{ required: true, message: "服务地点不能为空", trigger: "blur" },
],
serverId: [
{ required: true, message: "服务不能为空", trigger: "blur" },
{ required: true, message: "服务组织不能为空", trigger: "blur" },
],
};

9
src/views/modules/shequzhili/eventOld/cpts/add.vue

@ -86,7 +86,7 @@
</div>
<!-- 新增弹出框 -->
<!-- <el-dialog :visible.sync="personTableShow" :close-on-click-modal="false" :close-on-press-escape="false"
<el-dialog :visible.sync="personTableShow" :close-on-click-modal="false" :close-on-press-escape="false"
:destroy-on-close="true" title="选择居民" width="550px" top="5vh" class="dialog-h" @closed="diaClose">
<div style="padding: 10px 30px">
<el-form :inline="false" ref="ref_formSearch" :label-width="'90px'">
@ -110,7 +110,7 @@
@click="handleComfirmSelPerson">确定</el-button>
</div>
</div>
</el-dialog> -->
</el-dialog>
</div>
</template>
@ -131,8 +131,8 @@ function iniFmData() {
return {
gridId: "", //
reportUserId: "", // ID
name: "cc", //
mobile: "17637255555", //
name: "", //
mobile: "", //
idCard: "", //
sourceType: "", //
happenTime: "", //
@ -383,7 +383,6 @@ export default {
});
return false;
}
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
if (
this.formData.idCard &&

72
src/views/modules/shequzhili/eventOld/cpts/event-info.vue

@ -243,7 +243,7 @@
</template>
<div v-if="item.processName === '需求完成'">
<div class="detail">
<div class="detail-field">服务</div>
<div class="detail-field">服务组织</div>
<div class="detail-value">{{ item.serviceParty }}</div>
</div>
<div class="detail">
@ -433,40 +433,42 @@ export default {
return false;
}
this.$refs.ref_processinfo_add.getProcessInfo();
this.formData.operationType = this.$refs.ref_processinfo_add.operationType;
this.eventInfoData.operationType =
this.$refs.ref_processinfo_add.operationType;
if (this.formData.operationType === "0" || this.formData.operationType === "6") {
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo;
//
this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status;
this.eventInfoData.timeLimit = this.replayInfo.timeLimit;
if (this.replayInfo.categoryId) {
this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
}
} else if (this.formData.operationType === "5") {
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo;
//
this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status;
this.eventInfoData.timeLimit = this.replayInfo.timeLimit;
if (this.replayInfo.categoryId) {
this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
if (this.$refs.ref_processinfo_add.okflag) {
this.formData.operationType = this.$refs.ref_processinfo_add.operationType;
this.eventInfoData.operationType = this.$refs.ref_processinfo_add.operationType;
if (this.formData.operationType === "0" || this.formData.operationType === "6") {
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo;
//
this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status;
this.eventInfoData.timeLimit = this.replayInfo.timeLimit;
if (this.replayInfo.categoryId) {
this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
}
} else if (this.formData.operationType === "5") {
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo;
//
this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status;
this.eventInfoData.timeLimit = this.replayInfo.timeLimit;
if (this.replayInfo.categoryId) {
this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
}
} else if (this.formData.operationType === "2") {
this.replayInfo = {};
this.project = {};
this.demand = this.$refs.ref_processinfo_add.demand;
this.demand.gridId = this.eventInfoData.gridId;
} else if (this.formData.operationType === "4") {
this.replayInfo = {};
}
} else if (this.formData.operationType === "2") {
this.replayInfo = {};
this.project = {};
this.demand = this.$refs.ref_processinfo_add.demand;
this.demand.gridId = this.eventInfoData.gridId;
} else if (this.formData.operationType === "4") {
this.replayInfo = {};
}
this.formData = {
...this.eventInfoData,
// replayInfo: this.replayInfo,
replayInfo: this.replayInfo,
project: this.project,
demand: this.demand,
issueInfo: this.issueInfo,
@ -503,6 +505,7 @@ export default {
},
async handelDispose() {
console.log(this.$refs.ref_processinfo_dispose.okflag);
this.$refs.ref_processinfo_dispose.getProcessInfo();
if (this.$refs.ref_processinfo_dispose.okflag) {
this.formData.operationType = this.$refs.ref_processinfo_dispose.operationType;
@ -510,6 +513,10 @@ export default {
|| this.formData.operationType === '6') {
this.project = {};
this.demand = {};
if(this.$refs.ref_processinfo_dispose.replayInfo.okflag){
this.endLoading();
return false
}
this.replayInfo = this.$refs.ref_processinfo_dispose.replayInfo;
this.replayInfo.icEventId = this.eventId;
//
@ -528,7 +535,6 @@ export default {
this.demand = this.$refs.ref_processinfo_dispose.demand;
//
this.demand.icEventId = this.eventId;
console.log(this.eventDetailData);
if (this.demand.gridId === '') {
this.demand.gridId = this.eventDetailData.gridId
}
@ -540,7 +546,6 @@ export default {
this.project = {};
this.issueInfo = this.$refs.ref_processinfo_dispose.issueInfo;
//
console.log("issueInfo", this.issueInfo);
let url = "/governance/icEventOld/icEventToIssue";
await this.submitDispose(url, this.issueInfo);
} else {
@ -556,7 +561,6 @@ export default {
});
if (code === 0) {
this.$message.success("操作成功!");
this.$emit("handleOk");
} else {
this.$message.error(msg);

4
src/views/modules/shequzhili/eventOld/cpts/process-form-demand.vue

@ -104,7 +104,7 @@
</el-form-item>
<el-form-item label="服务" :class="{ 'form-item': source === 'visiual' }" label-width="150px" prop="serverId">
<el-form-item label="服务组织" :class="{ 'form-item': source === 'visiual' }" label-width="150px" prop="serverId">
<template>
<div :class="[{ 'single-select': source === 'visiual' }, 'sel-service']">
@ -216,7 +216,7 @@ export default {
{ required: true, message: "服务地点不能为空", trigger: "blur" },
],
serverId: [
{ required: true, message: "服务不能为空", trigger: "blur" },
{ required: true, message: "服务组织不能为空", trigger: "blur" },
],
};
},

2
src/views/modules/shequzhili/eventOld/cpts/process-form.vue

@ -149,7 +149,7 @@ export default {
async getProcessInfo() {
this.okflag = false
if (this.operationType === '0') {//
this.$refs.ref_process_form_replay.getReplayInfo()
this.$refs.ref_process_form_replay.getReplayInfo();
if (this.$refs.ref_process_form_replay.okflag) {
this.replayInfo = this.$refs.ref_process_form_replay.formData;
this.okflag = true;

99
src/views/modules/shequzhili/eventOld/eventList.vue

@ -27,14 +27,7 @@
</el-form-item>
<el-form-item label="事件类型" prop="firstIdList">
<el-cascader ref="cascaderEvent" v-model="eventTypeCheck" :options="cateOptions" collapse-tags
:show-all-levels="false" :props="{
multiple: true,
checkStrictly: false,
emitPath: false,
children: 'subCategory',
label: 'name',
value: 'id',
}" clearable class="u-item-width-normal" @change="handleEventType" />
:show-all-levels="false" :props="optionProps" clearable class="u-item-width-normal" @change="handleEventType" />
<!-- <template slot-scope="{ node, data }">
<div @click="cascaderClick(node, data)">
<span>{{ data.name }}</span>
@ -341,6 +334,14 @@ export default {
secondIdList: [],
},
cateOptions: [],
optionProps: {
multiple: true,
checkStrictly: false,
emitPath: false,
children: 'children',
label: 'categoryName',
value: 'id',
},
eventTypeCheck: [],
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
@ -380,9 +381,7 @@ export default {
},
},
mounted() {
console.log(this.$store.state);
this.user = this.$store.state.user;
this.agencyId = this.user.agencyId;
this.loadGrid();
this.getTableData();
@ -390,16 +389,12 @@ export default {
},
methods: {
handleEventType(val) {
// console.log('val-----eee', val)
console.log("nodes---", this.$refs.cascaderEvent.getCheckedNodes());
const nodes = this.$refs.cascaderEvent.getCheckedNodes();
this.formData.firstIdList = [];
this.formData.secondIdList = [];
let level1 = nodes.filter((item) => item.level === 1);
let level2 = nodes.filter((item) => item.level === 2);
console.log("level2----1", level2);
level1.forEach((item) => {
console.log("level2----2", level2);
if (item.hasChildren) {
for (let i = level2.length - 1; i >= 0; i--) {
if (level2[i].parent.value === item.value) level2.splice(i, 1);
@ -414,7 +409,6 @@ export default {
val.forEach((element) => {
this.multipleSelection.push(element.icEventId);
});
console.log(this.multipleSelection);
},
async handleMarkDiffcult(command) {
const url = "/governance/icEventOld/difficultpointevent";
@ -426,11 +420,8 @@ export default {
icEventIdList: this.multipleSelection,
type: command,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("标记成功");
this.getTableData();
} else {
@ -447,9 +438,7 @@ export default {
icEventIdList: this.multipleSelection,
type: "0",
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("取消标记成功");
this.getTableData();
@ -459,14 +448,12 @@ export default {
},
handleSearch(val) {
console.log(this.formData);
this.pageNo = 1;
this.getTableData();
},
async loadGrid() {
const url = "/gov/org/customergrid/gridoption";
let params = {
agencyId: this.agencyId,
purpose: "query",
@ -523,12 +510,9 @@ export default {
async handleWatch(row) {
this.eventId = row.icEventId;
const url = "/governance/icEventOld/detail";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/icEvent/detail";
const { data, code, msg } = await requestPost(url, {
icEventId: this.eventId,
});
if (code === 0) {
this.eventDetailData = { ...data };
this.pageType = "info";
@ -541,12 +525,9 @@ export default {
async handleDispose(row) {
this.eventId = row.icEventId;
const url = "/governance/icEventOld/detail";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/icEvent/detail";
const { data, code, msg } = await requestPost(url, {
icEventId: this.eventId,
});
if (code === 0) {
this.eventDetailData = { ...data };
this.pageType = "dispose";
@ -580,7 +561,6 @@ export default {
async handleDel(rowData) {
let message = "确认删除?";
this.$confirm(message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
@ -594,9 +574,7 @@ export default {
async delEvent(eventId) {
const url = "/governance/icEventOld/delete";
let idsArr = [eventId];
const { data, code, msg } = await requestPost(url, idsArr);
if (code === 0) {
this.$message.success("删除成功!");
this.getTableData();
@ -607,7 +585,9 @@ export default {
async getTableData() {
const url = "/governance/icEventOld/list";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/icEvent/list";
if (this.eventTypeCheck) {
this.formData.secondIdList = this.eventTypeCheck
}
const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, {
pageSize,
@ -639,23 +619,41 @@ export default {
}
},
async getCateOptions() {
const url = "/governance/issueprojectcategorydict/list";
const { data, code, msg } = await requestPost(url, {});
const url = '/governance/icEvent/getCategoryTree';
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
// this.cateOptions = data.map((item) => {
// item.subCategory.forEach((subitem) => {
// delete subitem.subCategory;
// });
// return item;
// });
this.cateOptions = this.deepTree(data, "subCategory");
let treeDataNew = this.deepTree(data, "children");
//
++this.iscascaderShow;
this.cateOptions = [];
this.cateOptions = treeDataNew;
} else {
this.$message.error(msg);
}
if (this.eventDetailCopy.parentCategoryId) {
const pids = this.eventDetailCopy.parentCategoryId.split(',');
pids.push(this.eventDetailCopy.categoryId);
let nodes = this.cateOptions;
for (let i = 0; i < pids.length; i++) {
nodes = this.buildNode(nodes, pids[i])
}
if (nodes) {
this.formData.categoryList.push(nodes)
}
}
},
buildNode(nodes, treeId) {
for (let i = 0; i < nodes.length; i++) {
if (nodes[i].id === treeId) {
if (nodes[i].children) {
return nodes[i].children
} else {
return nodes[i]
}
}
}
},
handleSizeChange(val) {
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
@ -665,7 +663,6 @@ export default {
this.pageNo = val;
this.getTableData();
},
resetSearch() {
this.formData = {
gridId: "",
@ -685,16 +682,16 @@ export default {
this.getTableData();
// this.loadTable()
},
deepTree(arr, child) {
//
deepTree(arr, children) {
if (Array.isArray(arr) && arr.length > 0) {
return arr.map((item) => {
// if (child === 'subAgencyList') item.value = item.orgType + '-' + item.orgId
return {
...item,
[child]:
(item[child] &&
item[child].length > 0 &&
this.deepTree(item[child], child)) ||
[children]:
(item[children] &&
item[children].length > 0 &&
this.deepTree(item[children], children)) ||
null,
};
});

84
src/views/modules/shequzhili/tuceng/yingji/zizuzhi/addForm.vue

@ -85,9 +85,18 @@
</el-col>
<el-col :span="24">
<el-form-item label="服务事项" prop="categoryList">
<el-select v-model="formData.categoryList" multiple placeholder="请选择" size="small" clearable class="u-item-width-normal" style="width: 500px;">
<!-- <el-select v-model="formData.categoryList" multiple placeholder="请选择" size="small" clearable class="u-item-width-normal" style="width: 500px;">
<el-option v-for="item in serviceList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-select> -->
<el-cascader
v-model="formData.categoryList"
:options="demandOptions"
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList',multiple:true,emitPath:false}"
clearable
collspse-tags
size="small"
class="u-item-width-normal"
></el-cascader>
</el-form-item>
</el-col>
<el-col :span="24">
@ -249,7 +258,6 @@ export default {
gridList: [], //list--
placeTypeList: [], //
list: {},
serviceList: [],
formData: {
organizationName: '',
categoryCode: '',
@ -265,6 +273,7 @@ export default {
latitude: '',
organizationPersonnel: []
},
demandOptions:[],
dataRule: {
organizationName: [
{ required: true, message: '组织名称 不能为空', trigger: 'blur' },
@ -302,7 +311,9 @@ export default {
this.startLoading();
this.getVolunteerList();
this.loadplaceType();
this.loadserviceList();
this.getDemandOptions()
// this.loadserviceList();
// this.loadGrid();
// this.loadplaceType();
if (this.pageType != 'add') {
@ -315,17 +326,60 @@ export default {
},
methods: {
async loadserviceList() {
const url = '/actual/base/serviceitem/dict-list';
const params = {
type: 'usable'
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.serviceList = data;
} else {
this.$message.error(msg);
}
// async loadserviceList() {
// const url = '/actual/base/serviceitem/dict-list';
// const params = {
// type: 'usable'
// };
// const { data, code, msg } = await requestPost(url, params);
// if (code === 0) {
// this.serviceList = data;
// } else {
// this.$message.error(msg);
// }
// },
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
// console.log('arrr-oppp', arr2)
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
querySearchVolunteer(queryString, cb) {
const { volunteerList } = this;

2
src/views/modules/shequzhili/welfare/addForm.vue

@ -225,7 +225,7 @@
</el-form-item>
<el-form-item
label="服务"
label="服务组织"
prop="serviceOrgId"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"

2
src/views/modules/shequzhili/xiangmu/cpts/demand-info.vue

@ -45,7 +45,7 @@
</div>
<div class="m-info-prop"
v-if="info.serviceShowName">
<span class="u-info-title-2">服务</span>
<span class="u-info-title-2">服务组织</span>
<span>{{ info.serviceShowName }}</span>
</div>
<div class="m-info-prop"

2
src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanDialog.vue

@ -66,7 +66,7 @@
<div>{{ info.content }}</div>
</div>
<div class="item">
<span class="item-field">服务 </span>
<span class="item-field">服务组织 </span>
<span>{{ info.serviceShowName }}</span>
</div>
<div class="item">

2
src/views/modules/visual/communityParty/memberInfo.vue

@ -58,7 +58,7 @@
<span v-if="info.content">{{ info.content }}</span>
</div>
<div class="item">
<span class="item-field">服务</span>
<span class="item-field">服务组织</span>
<span v-if="info.serviceShowName">{{ info.serviceShowName }}</span>
</div>
<div class="item">

6
src/views/modules/visual/measure/dialogInfo.vue

@ -55,7 +55,7 @@
class="list">
<div class="item"
v-if="info.serviceShowFlag">
<span class="item-field ">服务</span>
<span class="item-field ">服务组织</span>
<span>{{ info.serviceShowName }}</span>
</div>
<template v-if="info.status == 'finished'">
@ -84,7 +84,7 @@
<div v-if="info.status==='pending'"
class="list">
<div class="item">
<span class="item-field item-filed-height ">服务</span>
<span class="item-field item-filed-height ">服务组织</span>
<div class="single-select sel-service">
<el-select v-model="form.serviceType"
class="input-width-small"
@ -303,7 +303,7 @@ export default {
async handleSubmit () {
if (!this.form.serviceType || !this.form.serverId) {
this.$message.info("请选择服务");
this.$message.info("请选择服务组织");
return false
}
const _form = {

2
src/views/modules/visual/measure/service.vue

@ -181,7 +181,7 @@ export default {
{ title: "上报人", coulmn: 'reportUserName' },
{ title: "上报时间", coulmn: 'reportTime' },
{ title: "需求人", coulmn: 'demandUserName' },
{ title: "服务", coulmn: 'serviceShowName' },
{ title: "服务组织", coulmn: 'serviceShowName' },
{ title: "服务时间", coulmn: 'wantServiceTime' },
],
categoryList: [],

120
src/views/modules/workSys/serviceMatters.vue

@ -2,41 +2,38 @@
<div class="g-main">
<div>
<div class="m-table">
<div class="div_btn"><el-button size="small" type="primary " @click="handleAdd({}, 'add')">新增</el-button></div>
<el-table :data="tableData" border class="m-table-item" style="width: 100%" :height="maxTableHeight">
<!-- <el-table-column label="" fixed="left" type="selection" align="center" width="50" /> -->
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="categoryName" align="center" label="分类名称" :show-overflow-tooltip="true"></el-table-column>
<!-- <el-table-column prop="awardPoint" align="center" label="积分" :show-overflow-tooltip="true"></el-table-column> -->
<el-table-column prop="usableFlag" label="状态" min-width="140" align="center" :show-overflow-tooltip="true">
<div class="div_btn"><el-button size="small" type="primary " @click="handleAdd({}, 'add')">新增</el-button>
</div>
<el-table :data="tableData" v-loading="tableLoading" row-key="categoryId" border :height="maxTableHeight" style="width: 100%"
>
<el-table-column label="序号" type="index" align="center" width="50">
<template slot-scope="scope">{{ scope.row.index }}</template>
</el-table-column>
<el-table-column v-for="item in tableHeader" :key="item.columnName" :prop="item.columnName"
:label="item.label" :align="item.align">
<template slot-scope="scope">
<span v-if="scope.row.usableFlag == '0'">禁用</span>
<span v-if="scope.row.usableFlag == '1'">启用</span>
<span>{{ handleFilterSpan(scope.row, item) }}</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="200">
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button @click="handleHid(scope.row)" type="text" size="small" v-if="scope.row.usableFlag == '1'" class="">禁用</el-button>
<el-button @click="handleHid(scope.row)" type="text" size="small" v-if="scope.row.usableFlag == '0'" class="">启用</el-button>
<el-button style="margin-right: 10px" @click="handleAdd(scope.row, 'edit')" size="small" type="text">修改</el-button>
<el-button style="margin-right: 10px" @click="handleDel(scope.row)" size="small" type="text">删除</el-button>
<el-button @click="handleAdd(scope.row, 'edit')" type="text" size="small"
class="div-table-button--edit">修改</el-button>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
:total="total"
></el-pagination>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-sizes="[20, 50, 100, 200]" :page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total" :total="total"></el-pagination>
</div>
</div>
</div>
<addForm :detailId="detailId" :pageType="pageType" v-if="dialogVisible" :dialogVisible="dialogVisible" @handleClose="handleClose" />
<addForm :customerId="customerId" :detailId="detailId" :pageType="pageType" v-if="dialogVisible"
:dialogVisible="dialogVisible" :categoryOptions="categoryOptions" :levelFlag="levelFlag" @handleClose="handleClose" />
</div>
</template>
@ -69,11 +66,41 @@ export default {
detailData: {},
multipleSelection: [],
rowObj: {},
importLoading: false
importLoading: false,
tableHeader: [
{
label: '分类名称',
align: 'left',
columnName: 'categoryName'
}, {
label: '状态',
columnName: 'usableFlag',
align: 'center',
options: [{
value: true,
label: '启用'
}, {
value: false,
label: '禁用'
}]
}
],
tableLoading: false,
categoryOptions:[],//
levelFlag:false
};
},
components: { addForm },
created() {},
created() {
this.user = this.$store.state.user;
this.agencyId = this.user.agencyId;
this.customerId = this.user.customerId;
this.getTableData();
},
computed: {
maxTableHeight() {
return this.$store.state.inIframe ? this.clientHeight - 410 + this.iframeHeigh : this.clientHeight - 410;
@ -82,11 +109,7 @@ export default {
},
watch: {},
mounted() {
this.user = this.$store.state.user;
this.agencyId = this.user.agencyId;
this.customerId = this.user.customerId;
console.log('this.customerId ', this.customerId);
this.getTableData();
},
methods: {
async handleDel(rowData) {
@ -99,7 +122,7 @@ export default {
.then(() => {
this.del(rowData.categoryId);
})
.catch(err => {});
.catch(err => { });
},
async del(id) {
const url = `/actual/base/serviceitem/delete/${id}`;
@ -115,6 +138,7 @@ export default {
handleAdd(row, type) {
if (row.categoryId) {
this.detailId = row.categoryId;
this.levelFlag = (row.children || []).length > 0;
}
this.pageType = type;
this.dialogVisible = true;
@ -151,9 +175,20 @@ export default {
this.detailId = '';
this.getTableData();
},
handleFilterSpan(row, item) {
let _val = ''
if (item.options && item.options.length > 0) {
item.options.forEach((n) => {
if (n.value === row[item.columnName]) _val = n.label
})
}
return _val || row[item.columnName]
},
async getTableData() {
const url = '/actual/base/serviceitem/list';
this.tableLoading = true
const url = '/actual/base/serviceitem/listAllCategory';
// const url = 'http://yapi.elinkservice.cn/mock/330/actual/base/enterprise/list';
const { pageSize, pageNo, customerId } = this;
const { data, code, msg } = await requestPost(url, {
@ -163,14 +198,28 @@ export default {
});
if (code === 0) {
this.total = data.total || 0;
this.tableData = data.list
? data.list.map(item => {
return item;
})
this.tableData = data
? data.map((item, index) => {
return {
...item,
index: index + 1,
hasBtn: true,
children: item.childCateList.map(n => {
return {
...n,
hasBtn: true
}
})
}
})
: [];
this.categoryOptions= this.tableData.map(item=>({label:item.categoryName,value:item.categoryName}))
console.log(this.tableData);
} else {
this.$message.error(msg);
}
this.tableLoading = false
},
handleSizeChange(val) {
this.pageSize = val;
@ -194,6 +243,7 @@ export default {
<style lang="scss" scoped>
@import '@/assets/scss/modules/management/list-main.scss';
.m-search {
.u-item-width-normal {
width: 200px;

115
src/views/modules/workSys/serviceMattersComponents/addForm.vue

@ -12,16 +12,27 @@
<div>
<el-form
:model="formData"
ref="form"
ref="dataForm"
:rules="dataRule"
:label-width="'120px'"
>
<el-form-item label="分类名称" prop="categoryName">
<el-input
<el-form-item label="一级分类" prop="categoryName" v-if="levelFlag || pageType == 'add'">
<el-autocomplete
v-model="formData.categoryName"
class="u-item-width-normal"
size="small"
clearable
:fetch-suggestions="querySearch"
@select="handleSelect"
placeholder="请输入"
></el-autocomplete>
</el-form-item>
<el-form-item label="二级分类" prop="categoryChildName" v-if="!levelFlag || pageType == 'add'">
<el-input
v-model="formData.categoryChildName"
class="u-item-width-normal"
size="small"
clearable
placeholder="请输入"
></el-input>
</el-form-item>
@ -49,12 +60,6 @@
clearable
></el-cascader>
</el-form-item> -->
<el-form-item label="一级菜单" prop="stair">
<el-select v-model="formData.stair" :clearable="true">
<el-option v-for="(item,index) in stairList" :key="index" :label="item.categoryName" :value="item.categoryId">
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
@ -97,6 +102,14 @@ export default {
customerId:{
type: String,
default: "",
},
categoryOptions:{
type:Array,
default:()=>[]
},
levelFlag:{
type:Boolean,
default:false
}
},
@ -141,28 +154,25 @@ export default {
// awardPoint: '',
categoryId: "",
categoryName: "",
demandList1: [],
commonServiceTypeList1: [],
demandList: [],
commonServiceTypeList: [],
stair:"",
// demandList1: [],
// commonServiceTypeList1: [],
// demandList: [],
// commonServiceTypeList: [],
categoryChildId: "",
categoryChildName:""
},
dataRule: {
categoryName: [
{ required: true, message: "分类名称不能为空", trigger: "bulr" },
{ required: true, message: "一级分类名称不能为空", trigger: "bulr" },
],
stair:[
{ required: true, message: "一级菜单不能为空", trigger: "bulr" },
categoryChildName:[
{ required: true, message: "二级分类名称不能为空", trigger: "bulr" },
]
// awardPoint: [{ required: true, message: '', trigger: 'bulr' }],
// demandList: [{ required: true, message: '', trigger: 'blur' }],
// commonServiceTypeList: [{ required: true, message: '', trigger: 'bulr' }]
},
stairList:[],
pageSize:20,
pageNo:1
pageNo:1,
disabled:false,
};
},
watch: {},
@ -175,14 +185,24 @@ export default {
if (this.pageType == "edit") {
this.getDetail();
}
this.getSelect()
this.getDemandOptions();
this.getCommonServiceTypeOptions();
// this.getDemandOptions();
// this.getCommonServiceTypeOptions();
await this.endLoading();
this.endLoading();
},
methods: {
querySearch(queryString, cb) {
console.log(this.categoryOptions);
const results = this.categoryOptions.filter(option =>
option.label.includes(queryString)
);
console.log(results);
cb(results);
},
handleSelect(item){
console.log(item);
},
handleAreaChange1(data) {
let that = this;
let demandList = [];
@ -200,32 +220,6 @@ export default {
});
that.formData.demandList = [...demandList];
},
handleAreaChange2(data) {
let that = this;
let commonServiceTypeList = [];
const obj = this.$refs["cascaderItem2"].getCheckedNodes();
// ref
obj.forEach((item) => {
let obj2 = {
commonServiceTypeId: item.data.id,
commonServiceTypePid: item.data.pid,
};
commonServiceTypeList.push(obj2);
});
that.formData.commonServiceTypeList = [...commonServiceTypeList];
},
async getSelect(){
const url = '/actual/base/serviceitem/list'
const { pageSize, pageNo, customerId } = this;
const { data, code, msg } = await requestPost(url, {
pageSize,
pageNo,
customerId
});
if(code == 0){
this.stairList = data.list
}
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
@ -269,6 +263,11 @@ export default {
if (code === 0) {
console.log("详情数据", data);
this.formData = { ...data };
if(data.categoryId && !data.categoryChildId){
this.disabled = true;
}else if(data.categoryChildId){
this.disabled = false;
}
this.fenxiData();
this.index = this.arr.indexOf(this.formData.categoryName);
} else {
@ -292,17 +291,21 @@ export default {
this.formData.demandList1 = [...demandList1];
},
handleComfirm() {
this.save();
this.$refs['dataForm'].validate((valid) => {
if (!valid) {
return false
}
this.save();
}, 1000, {'leading': true, 'trailing': false})
},
async save() {
let form = this.formData;
// this.handleAreaChange1();
// this.handleAreaChange2();
console.log("this.formData", this.formData);
const url = "/actual/base/serviceitem/saveorupdate";
var params = {};
params = { ...this.formData };
console.log(params);
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("操作成功");

Loading…
Cancel
Save