Browse Source

修改事件主表单,增加事件分类

master
luyan 2 years ago
parent
commit
c6d325113d
  1. 96
      src/views/modules/shequzhili/event/cpts/add.vue
  2. 62
      src/views/modules/shequzhili/event/cpts/categoryArray.vue
  3. 4
      src/views/modules/shequzhili/event/cpts/process-form-replay.vue
  4. 4
      src/views/modules/shequzhili/event/cpts/process-form.vue
  5. 4
      src/views/modules/shequzhili/event/eventList.vue

96
src/views/modules/shequzhili/event/cpts/add.vue

@ -82,7 +82,21 @@
v-model="formData.idCard"
></el-input>
</el-form-item>
<el-form-item
label="事件分类"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
prop="categoryList">
<div :class="{ 'visiual-form': source === 'visiual'}">
<categoryArray
v-model="formData.categoryList"
:casOptions="casOptions"
:props="optionProps"
:optionProps="optionProps"
@handleChangeCate="handleChangeCate"
></categoryArray>
</div>
</el-form-item>
<el-form-item
label="反应渠道"
label-width="150px"
@ -298,6 +312,7 @@ import { requestPost } from "@/js/dai/request";
import formVltHelper from "dai-js/tools/formVltHelper";
import daiMap from "@/utils/dai-map";
import { isCard } from "@/utils/validate";
import categoryArray from "./categoryArray.vue"
let loading; //
var map;
@ -317,13 +332,10 @@ function iniFmData() {
happenTime: "", //
eventContent: "", //
imageList: [], //
// categoryList: [],// Id
categoryList: [],//
address: "", //
latitude: "", //
longitude: "", //
// operationType: '',//
// content: '',//
// status: '',// processingclosed_case
};
}
@ -335,45 +347,21 @@ export default {
searchValue: "",
resultList: [],
loading: false,
btnDisable: false,
gridList: [], //list--
qudaoArray: [
// {
// value: "1",
// label: "",
// },
// {
// value: "2",
// label: "",
// },
// {
// value: "3",
// label: "12345",
// },
// {
// value: "4",
// label: "",
// },
],
qudaoArray: [],
formData: iniFmData(),
//
keyWords: "",
isFirst: true, //
// oss/file/uploadvariedfile
dialogImageUrl: "oss/file/uploadvariedfile",
uploadUlr:
window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile",
window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile",
// upload_url: '', // URL
upload_name: "", //
replayImgList: [],
okflag: false,
formDataSearch: {
gridId: "",
name: "",
@ -383,11 +371,19 @@ export default {
selPersonIndex: "",
selPerson: {},
demandUserList: [],
casOptions:[],
optionProps: {
multiple: false,
value: "id",
label: "name",
children: "subCategory",
},
hideUploadBtn: false,
};
},
components: {},
components: {
categoryArray
},
computed: {
dataRule() {
let checkIdCard = (rule, value, callback) => {
@ -423,10 +419,13 @@ export default {
trigger: "blur",
},
],
// idCard: [
// { required: true, message: "", trigger: "blur" },
// { required: true, validator: checkIdCard, trigger: "blur" },
// ],
categoryList:[
{
required: true,
message: "事件分类不能为空",
trigger: "blur",
},
],
sourceType: [
{
required: true,
@ -465,7 +464,12 @@ export default {
};
},
},
props: {},
props: {
source: {//manage visiual
type: String,
default: 'manage'
}
},
watch: {
"formData.name": function (val) {
this.$emit("changeName", val);
@ -503,6 +507,16 @@ export default {
},
methods: {
handleChangeCate(obj) {
this.selCateObj = obj
this.formData.categoryList = [];
let flag = JSON.stringify(obj) == '{}'
if(flag)
this.formData.categoryList = []
else
this.formData.categoryList.push(this.selCateObj);
},
async handleShowPersonList() {
if (this.formData.gridId) {
await this.handleChangeGrid();
@ -565,19 +579,13 @@ export default {
},
async getCategoryList() {
const url = "/gov/issue/issueprojectcategorydict/list";
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
let treeDataNew = this.filterTree(data);
// this.categrayList = data
//
++this.iscascaderShow;
this.casOptions = [];
this.selCategoryArray = [];
this.casOptions = treeDataNew;
} else {
this.$message.error(msg);

62
src/views/modules/shequzhili/event/cpts/categoryArray.vue

@ -0,0 +1,62 @@
<template>
<div>
<el-form :model="form" >
<el-form-item>
<el-cascader class="cell-width-2"
ref="myCascader"
v-model="form.selCategoryArray"
:key="iscascaderShow"
:options="casOptions"
:props="optionProps"
:show-all-levels="false"
clearable
@change="handleChangeCate"></el-cascader>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
form:{
selCategoryArray:{}
},
selCateObj:{},
iscascaderShow:0
};
},
props:{
casOptions:{
type:Array,
default:()=>[]
},
optionProps:{
type:Object,
default:()=>{}
}
},
created() {},
methods: {
handleChangeCate(){
if(this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0]){
this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0].data
}else{
this.selCateObj = {}
}
this.$emit('handleChangeCate',this.selCateObj)
}
},
mounted(){
++this.iscascaderShow;
},
components: {},
computed: {},
watch: {},
};
</script>
<style lang="scss" scoped>
</style>>

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

@ -5,7 +5,7 @@
:inline="false"
:model="formData"
:rules="dataRule">
<el-form-item label="事件分类"
<!-- <el-form-item label="事件分类"
label-width="150px"
:class="{'form-item':source==='visiual'}"
prop="categoryList">
@ -19,7 +19,7 @@
:show-all-levels="false"
@change="handleChangeCate"></el-cascader>
</div>
</el-form-item>
</el-form-item> -->
<el-form-item label="回复内容"
prop="content"
label-width="150px"

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

@ -17,9 +17,9 @@
<el-radio v-if="!eventId"
label="">暂不处理</el-radio>
<el-radio label="0">回复</el-radio>
<el-radio label="1">立项</el-radio>
<!-- <el-radio label="1">立项</el-radio>
<el-radio label="2">转服务</el-radio>
<el-radio label="3">转议题</el-radio>
<el-radio label="3">转议题</el-radio> -->
</el-radio-group>
</el-form-item>

4
src/views/modules/shequzhili/event/eventList.vue

@ -181,7 +181,7 @@
size="small"
>导出</el-button
>
<!--
<el-button
@click="handleMarkDiffcult"
class="diy-button--export"
@ -194,7 +194,7 @@
class="diy-button--delete"
size="small"
>取消标记痛点难点</el-button
>
> -->
</div>
<el-table

Loading…
Cancel
Save