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

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

@ -5,7 +5,7 @@
:inline="false" :inline="false"
:model="formData" :model="formData"
:rules="dataRule"> :rules="dataRule">
<el-form-item label="事件分类" <!-- <el-form-item label="事件分类"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}" :class="{'form-item':source==='visiual'}"
prop="categoryList"> prop="categoryList">
@ -19,8 +19,67 @@
:show-all-levels="false" :show-all-levels="false"
@change="handleChangeCate"></el-cascader> @change="handleChangeCate"></el-cascader>
</div> </div>
</el-form-item> -->
<!-- 0上报 1阅收 3完结 4审核 5事件评价 6结案归档-->
<el-form-item label="办理状态"
prop="manageStatus"
label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block">
<div :class="{'visiual-form':source==='visiual'}">
<el-select v-model="formData.manageStatus" placeholder="请选择办理状态">
<el-option
v-for="item in statusOption"
:label="item.label"
:value="item.value"
clearable
:key="item.value">
</el-option>
</el-select>
</div>
</el-form-item> </el-form-item>
<el-form-item label="回复内容" <el-form-item
label="办理时间"
prop="manageTime"
label-width="150px"
style="display: block"
>
<el-date-picker
v-model="formData.manageTime"
class="cell-width-1"
type="datetime"
placeholder="办理时间"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item label="办理人"
prop="manageResi"
label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block">
<div :class="{'visiual-form':source==='visiual'}">
<el-input class="cell-width-area"
placeholder="请输入办理人"
v-model="formData.manageResi"></el-input>
</div>
</el-form-item>
<el-form-item label="办理人电话"
prop="manageResiTel"
label-width="150px"
:class="{'form-item':source==='visiual'}"
style="display: block">
<div :class="{'visiual-form':source==='visiual'}">
<el-input class="cell-width-area"
placeholder="请输入办理人"
v-model="formData.manageResiTel"></el-input>
</div>
</el-form-item>
<el-form-item label="办理意见"
prop="content" prop="content"
label-width="150px" label-width="150px"
:class="{'form-item':source==='visiual'}" :class="{'form-item':source==='visiual'}"
@ -48,7 +107,6 @@
</div> </div>
</template> </template>
<script> <script>
import { Loading } from "element-ui"; // Loading import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request";
@ -66,14 +124,25 @@ export default {
formData: { formData: {
operationType: '0',//[0: 1: 2:] operationType: '0',//[0: 1: 2:]
content: '', content: '',
status: '' manageStatus: '',
manageTime:'',
manageResi:'',
manageResiTel:''
}, },
status: false, status: false,
okflag: false, okflag: false,
// <!-- 0 1 2 3 4 5-->
eventDetailCopy: {}, eventDetailCopy: {},
statusOption:[
{label:'上报',value:0},
{label:'阅收',value:1},
{label:'完结',value:2},
{label:'审核',value:3},
{label:'事件评价',value:4},
{label:'结案归档',value:5}
],
casOptions: [], casOptions: [],
iscascaderShow: 0, iscascaderShow: 0,
selCategoryArray: [], selCategoryArray: [],
@ -93,9 +162,20 @@ export default {
return { return {
content: [ content: [
{ required: true, message: "回复内容不能为空", trigger: "blur" }, { required: true, message: "办理意见不能为空", trigger: "blur" },
],
manageStatus: [
{ required: true, message: "办理状态能为空", trigger: "blur" },
],
manageTime: [
{ required: true, message: "办理时间不能为空", trigger: "blur" },
],
manageResi: [
{ required: true, message: "办理人不能为空", trigger: "blur" },
],
manageResiTel: [
{ required: true, message: "办理人电话不能为空", trigger: "blur" },
], ],
}; };
}, },

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

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

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

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

Loading…
Cancel
Save