|
|
@ -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; |
|
|
|
} |
|
|
|
//为什么不能传null还要返回null呢? |
|
|
|
|
|
|
|
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: [ |
|
|
|