Browse Source

服务事项

feature
tianqian 3 years ago
parent
commit
166117b8d0
  1. 13
      src/views/modules/workSys/serviceMatters.vue
  2. 173
      src/views/modules/workSys/serviceMattersComponents/addForm.vue

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

@ -1,6 +1,6 @@
<template>
<div class="g-main">
<div v-show="pageType == 'list'">
<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">
@ -8,15 +8,13 @@
<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">
<template slot-scope="scope">
<span v-if="scope.row.usableFlag == '0'">禁用</span>
<span v-if="scope.row.usableFlag == '1'">启用</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="130">
<el-table-column fixed="right" 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>
@ -38,7 +36,7 @@
</div>
</div>
</div>
<addForm :detailId="detailId" :pageType="pageType" v-if="dialogVisible" :dialogVisible="dialogVisible" @handleClose="handleClose" />
<addForm :detailId="detailId" :pageType="pageType" v-if="dialogVisible" :dialogVisible="dialogVisible" @handleClose="handleClose" />
</div>
</template>
@ -52,7 +50,6 @@ import axios from 'axios';
export default {
data() {
return {
dialogVisible: false,
warnFlagList: [{ value: '0', label: '否' }, { value: '1', label: '是' }],
intelligentFlagList: [{ value: '0', label: '不开启' }, { value: '1', label: '开启' }],
@ -118,8 +115,8 @@ export default {
handleAdd(row, type) {
if (row.categoryId) {
this.detailId = row.categoryId;
}
this.pageType=type;
}
this.pageType = type;
this.dialogVisible = true;
},
async handleHid(row) {

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

@ -3,15 +3,24 @@
<div>
<el-form :model="formData" ref="form" :rules="dataRule" :label-width="'120px'">
<el-form-item label="分类名称" prop="categoryName">
<el-input v-model="formData.categoryName" disabled class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
<el-input v-model="formData.categoryName" :disabled="pageType == 'edit'" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="奖励积分" prop="awardPoint">
<el-input-number v-model="formData.awardPoint" class="u-item-width-normal" size="small" clearable placeholder="请输入"></el-input-number>
</el-form-item>
<el-form-item label="对应个性需求" prop="demandList"><el-cascader :options="demandOptions" :props="props" clearable></el-cascader></el-form-item>
<el-form-item label="对应个性需求" prop="demandList">
<el-cascader ref="cascaderItem1" :options="demandOptions" :props="props1" v-model="formData.demandList1" @change="handleAreaChange1" clearable></el-cascader>
</el-form-item>
<el-form-item label="对应公共服务" prop="commonServiceTypeList">
<el-cascader :options="commonServiceTypeOptions" :props="props" clearable></el-cascader>
<el-cascader
ref="cascaderItem2"
:options="commonServiceTypeOptions"
:props="props2"
v-model="formData.commonServiceTypeList1"
@change="handleAreaChange2"
clearable
></el-cascader>
</el-form-item>
</el-form>
</div>
@ -56,7 +65,13 @@ export default {
data() {
return {
props: { multiple: true },
props1: { multiple: true, value: 'value', label: 'label', children: 'children' },
props2: {
value: 'id',
label: 'name',
children: 'childList',
multiple: true
},
categoryCodeArr: {},
demandOptions: [],
commonServiceTypeOptions: [],
@ -71,9 +86,10 @@ export default {
awardPoint: '',
categoryId: '',
categoryName: '',
demandList: '',
commonServiceTypeList: '',
demandList1: [],
commonServiceTypeList1: [],
demandList: [],
commonServiceTypeList: []
},
dataRule: {
// name: [{ required: true, message: '', trigger: 'bulr' }],
@ -90,7 +106,9 @@ export default {
this.user = this.$store.state.user;
this.agencyId = this.user.agencyId;
this.startLoading();
this.getDetail();
if (this.pageType == 'edit') {
this.getDetail();
}
this.getDemandOptions();
this.getCommonServiceTypeOptions();
await this.endLoading();
@ -98,22 +116,38 @@ export default {
},
methods: {
//
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('网络错误');
});
handleAreaChange1(data) {
let that = this;
let demandList = [];
const obj = this.$refs['cascaderItem1'].getCheckedNodes();
// ref
obj.forEach(item => {
if (item.data.pvalue != '0') {
let obj2 = {
demandCategoryId: item.data.id,
demandCategoryCode: item.data.value,
demandParentCode: item.data.pvalue
};
demandList.push(obj2);
}
});
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];
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map(item => {
@ -128,73 +162,14 @@ export default {
});
return arr;
},
getFlagData(data, flag) {
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) };
else return item;
});
return arr2;
},
// getTreeData(data) {
// if (!Array.isArray(data)) return [];
// let arr = data.map(item => {
// let obj = {};
// if (item.children)
// obj = {
// label: item.label,
// value: item.value,
// children: this.getTreeData(item.children),
// pid: item.pid
// };
// else {
// obj = {
// label: item.label,
// value: item.value,
// pid: item.pid
// };
// console.log('douzo ', obj.label);
// }
// return obj;
// });
// return arr;
// },
getTreeData2(data) {
if (!Array.isArray(data)) return [];
let arr = data.map(item => {
let obj = {};
if (item.childrenList)
obj = {
label: item.name,
value: item.id,
children: this.getTreeData2(item.childrenList),
pid: item.pid
};
else {
obj = {
label: item.name,
value: item.id,
pid: item.pid
};
console.log('douzo ', obj.label);
}
return obj;
});
return arr;
},
async getDemandOptions() {
const url = `/governance/icresidemanddict/demandoption`;
const { data, code, msg } = await requestPost(url);
if (code === 0) {
console.log('1', data);
this.demandOptions = this.getFlagData(
this.getTreeData(data),
"usableFlag"
);
console.log('2', this.demandOptions);
console.log('this.demandOptions', data);
this.demandOptions = this.getTreeData(data);
// console.log("this.demandOptions",this.demandOptions)
} else {
this.$message.error(msg);
}
@ -204,7 +179,7 @@ export default {
const url = `/governance/commonServiceType/selectList/0`;
const { data, code, msg } = await requestGet(url);
if (code === 0) {
this.commonServiceTypeOptions = this.getTreeData2(data);
this.commonServiceTypeOptions = data;
} else {
this.$message.error(msg);
}
@ -215,20 +190,36 @@ export default {
if (code === 0) {
console.log('详情数据', data);
this.formData = { ...data };
this.fenxiData();
this.index = this.arr.indexOf(this.formData.categoryName);
} else {
this.$message.error(msg);
}
},
fenxiData() {
let that = this;
let commonServiceTypeList1 = [];
let demandList1 = [];
this.formData.commonServiceTypeList.forEach((item, index) => {
let arr = [item.commonServiceTypeId];
commonServiceTypeList1.push(arr);
});
this.formData.demandList.forEach(item => {
console.log(item);
let arr2 = [item.demandParentCode,item.demandCategoryCode];
demandList1.push(arr2);
});
this.formData.commonServiceTypeList1 = [...commonServiceTypeList1];
this.formData.demandList1 = [...demandList1];
},
handleComfirm() {
this.save();
},
async save() {
let form=this.formData;
let form = this.formData;
this.handleAreaChange1();
this.handleAreaChange2();
console.log('this.formData', this.formData);
const url = '/actual/base/serviceitem/saveorupdate';
var params = {};
@ -242,7 +233,7 @@ export default {
}
},
handleCancle() {
this.resetData();
// this.resetData();
this.$emit('handleClose');
},
resetData() {

Loading…
Cancel
Save