22 changed files with 651 additions and 486 deletions
			
			
		| @ -0,0 +1,234 @@ | |||
| <template> | |||
|   <el-card shadow="never" | |||
|            class="aui-card--fill"> | |||
|     <div class="mod-demo__epdcevents}"> | |||
|       <el-form :inline="true" | |||
|                :model="dataForm" | |||
|                @keyup.enter.native="getDataList()"> | |||
|         <el-form-item label="街道"> | |||
|           <el-select v-model="dataForm.streetId" | |||
|                      placeholder="请选择" | |||
|                      clearable | |||
|                      @change="getCommunityList"> | |||
|             <el-option v-for="item in streetOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="社区"> | |||
|           <el-select v-model="dataForm.communityId" | |||
|                      placeholder="请选择" | |||
|                      clearable | |||
|                      @change="getGridList"> | |||
|             <el-option v-for="item in communityOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="网格"> | |||
|           <el-select v-model="dataForm.gridId" clearable | |||
|                      placeholder="请选择"> | |||
|             <el-option v-for="item in gridOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="时间" | |||
|                       prop="startTime"> | |||
|           <el-date-picker v-model="dataForm.startTime" | |||
|                           type="date" | |||
|                           :picker-options="pickerBeginDateBefore" | |||
|                           value-format="yyyy-MM-dd" | |||
|                           format="yyyy-MM-dd" | |||
|                           placeholder="选择日期时间"> | |||
|           </el-date-picker> | |||
|         </el-form-item> | |||
|         <el-form-item label="至" | |||
|                       label-width="25px" | |||
|                       prop="endTime"> | |||
|           <el-date-picker v-model="dataForm.endTime" | |||
|                           type="date" | |||
|                           :picker-options="pickerBeginDateAfter" | |||
|                           value-format="yyyy-MM-dd" | |||
|                           format="yyyy-MM-dd" | |||
|                           placeholder="选择日期时间"> | |||
|           </el-date-picker> | |||
|         </el-form-item> | |||
|         <el-form-item> | |||
|           <el-button @click="getDataList()">{{ $t('query') }}</el-button> | |||
|         </el-form-item> | |||
|       </el-form> | |||
|       <el-table v-loading="dataListLoading" | |||
|                 :data="dataList" | |||
|                 border | |||
|                 @selection-change="dataListSelectionChangeHandle" | |||
|                 style="width: 100%;"> | |||
|         <el-table-column label="序号" | |||
|                          type="index" | |||
|                          show-overflow-tooltip | |||
|                          align="center" | |||
|                          width="50"></el-table-column> | |||
|         <el-table-column prop="issueContent" | |||
|                          label="议题内容" | |||
|                          header-align="center" | |||
|                          width="330" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="createdTime" | |||
|                          label="提交时间" | |||
|                          header-align="center" | |||
|                          width="160" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="nickName" | |||
|                          label="提交人" | |||
|                          header-align="center" | |||
|                          width="120" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="participateNum" | |||
|                          label="参与人数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="approveNum" | |||
|                          label="支持人数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="opposeNum" | |||
|                          label="反对人数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="commentNum" | |||
|                          label="评论数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="browseNum" | |||
|                          label="浏览数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column :label="$t('handle')" | |||
|                          fixed="right" | |||
|                          header-align="center" | |||
|                          align="center" | |||
|                          width="150"> | |||
|           <template slot-scope="scope"> | |||
|             <el-button v-if="$hasPermission('events:change:look')" | |||
|                        type="text" | |||
|                        size="small" | |||
|                        @click="detailAction(scope.row.id)">{{ $t('look') }}</el-button> | |||
|           </template> | |||
|         </el-table-column> | |||
|       </el-table> | |||
|       <el-pagination :current-page="page" | |||
|                      :page-sizes="[10, 20, 50, 100]" | |||
|                      :page-size="limit" | |||
|                      :total="total" | |||
|                      layout="total, sizes, prev, pager, next, jumper" | |||
|                      @size-change="pageSizeChangeHandle" | |||
|                      @current-change="pageCurrentChangeHandle"> | |||
|       </el-pagination> | |||
|       <detail v-if="detailVisible" | |||
|               ref="detail" | |||
|               @refreshDataList="getDataList"></detail> | |||
|     </div> | |||
|   </el-card> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import mixinViewModule from '@/mixins/view-module' | |||
| import Detail from './issue-detail' | |||
| export default { | |||
|   mixins: [mixinViewModule], | |||
|   name: 'issueChangelist', | |||
|   data () { | |||
|     return { | |||
|       mixinViewModuleOptions: { | |||
|         getDataListURL: '/events/issue/page', | |||
|         getDataListIsPage: true | |||
|       }, | |||
|       detailVisible: false, | |||
|       dataForm: { | |||
|         startTime: '', | |||
|         endTime: '', | |||
|         streetId: '', | |||
|         communityId: '', | |||
|         gridId: '', | |||
|         state: '4' | |||
|       }, | |||
|       streetOptions: [], | |||
|       communityOptions: [], | |||
|       gridOptions: [], | |||
|       pickerBeginDateBefore: { | |||
|         disabledDate: (time) => { | |||
|           let beginDateVal = this.dataForm.startTime | |||
|           if (beginDateVal) { | |||
|             return time.getTime() > new Date(beginDateVal).getTime() | |||
|           } | |||
|         } | |||
|       }, | |||
|       pickerBeginDateAfter: { | |||
|         disabledDate: (time) => { | |||
|           let EndDateVal = this.dataForm.endTime | |||
|           if (EndDateVal) { | |||
|             return time.getTime() < new Date(EndDateVal).getTime() | |||
|           } | |||
|         } | |||
|       } | |||
|     } | |||
|   }, | |||
|   components: { | |||
|     Detail | |||
|   }, | |||
|   created: function () { | |||
|     this.getStreetList() | |||
|   }, | |||
|   methods: { | |||
|     detailAction (id) { | |||
|       this.$parent.selectComponent = 'IssueCloseDetailView' | |||
|       this.$router.push({ path: '/events-issue-change', query: { id: id } }) | |||
|     }, | |||
|     getStreetList () { | |||
|       this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.streetOptions = res.data | |||
|       }).catch(() => { }) | |||
|     }, | |||
|     getCommunityList () { | |||
|       if (this.dataForm.streetId === '') { | |||
|         this.communityOptions = [] | |||
|         this.gridOptions = [] | |||
|         this.dataForm.communityId = '' | |||
|         this.dataForm.gridId = '' | |||
|         return | |||
|       } | |||
|       this.dataForm.communityId = '' | |||
|       this.dataForm.gridId = '' | |||
|       this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.communityOptions = res.data | |||
|       }).catch(() => { }) | |||
|     }, | |||
|     getGridList () { | |||
|       if (this.dataForm.communityId === '') { | |||
|         this.gridOptions = [] | |||
|         this.dataForm.gridId = '' | |||
|         return | |||
|       } | |||
|       this.dataForm.gridId = '' | |||
|       this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.gridOptions = res.data | |||
|       }).catch(() => { }) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| @ -1,232 +1,25 @@ | |||
| <template> | |||
|   <el-card shadow="never" | |||
|            class="aui-card--fill"> | |||
|     <div class="mod-demo__epdcevents}"> | |||
|       <el-form :inline="true" | |||
|                :model="dataForm" | |||
|                @keyup.enter.native="getDataList()"> | |||
|         <el-form-item label="街道"> | |||
|           <el-select v-model="dataForm.streetId" | |||
|                      placeholder="请选择" | |||
|                      clearable | |||
|                      @change="getCommunityList"> | |||
|             <el-option v-for="item in streetOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="社区"> | |||
|           <el-select v-model="dataForm.communityId" | |||
|                      placeholder="请选择" | |||
|                      clearable | |||
|                      @change="getGridList"> | |||
|             <el-option v-for="item in communityOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="网格"> | |||
|           <el-select v-model="dataForm.gridId" clearable | |||
|                      placeholder="请选择"> | |||
|             <el-option v-for="item in gridOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="时间" | |||
|                       prop="startTime"> | |||
|           <el-date-picker v-model="dataForm.startTime" | |||
|                           type="date" | |||
|                           :picker-options="pickerBeginDateBefore" | |||
|                           value-format="yyyy-MM-dd" | |||
|                           format="yyyy-MM-dd" | |||
|                           placeholder="选择日期时间"> | |||
|           </el-date-picker> | |||
|         </el-form-item> | |||
|         <el-form-item label="至" | |||
|                       label-width="25px" | |||
|                       prop="endTime"> | |||
|           <el-date-picker v-model="dataForm.endTime" | |||
|                           type="date" | |||
|                           :picker-options="pickerBeginDateAfter" | |||
|                           value-format="yyyy-MM-dd" | |||
|                           format="yyyy-MM-dd" | |||
|                           placeholder="选择日期时间"> | |||
|           </el-date-picker> | |||
|         </el-form-item> | |||
|         <el-form-item> | |||
|           <el-button @click="getDataList()">{{ $t('query') }}</el-button> | |||
|         </el-form-item> | |||
|       </el-form> | |||
|       <el-table v-loading="dataListLoading" | |||
|                 :data="dataList" | |||
|                 border | |||
|                 @selection-change="dataListSelectionChangeHandle" | |||
|                 style="width: 100%;"> | |||
|         <el-table-column label="序号" | |||
|                          type="index" | |||
|                          show-overflow-tooltip | |||
|                          width="50"></el-table-column> | |||
|         <el-table-column prop="issueContent" | |||
|                          label="议题内容" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="createdTime" | |||
|                          label="提交时间" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="nickName" | |||
|                          label="提交人" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="participateNum" | |||
|                          label="参与人数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="approveNum" | |||
|                          label="支持人数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="opposeNum" | |||
|                          label="反对人数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="commentNum" | |||
|                          label="评论数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="browseNum" | |||
|                          label="浏览数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column :label="$t('handle')" | |||
|                          fixed="right" | |||
|                          header-align="center" | |||
|                          align="center" | |||
|                          width="150"> | |||
|           <template slot-scope="scope"> | |||
|             <el-button v-if="$hasPermission('events:change:look')" | |||
|                        type="text" | |||
|                        size="small" | |||
|                        @click="detailAction(scope.row.id)">{{ $t('look') }}</el-button> | |||
|           </template> | |||
|         </el-table-column> | |||
|       </el-table> | |||
|       <el-pagination :current-page="page" | |||
|                      :page-sizes="[10, 20, 50, 100]" | |||
|                      :page-size="limit" | |||
|                      :total="total" | |||
|                      layout="total, sizes, prev, pager, next, jumper" | |||
|                      @size-change="pageSizeChangeHandle" | |||
|                      @current-change="pageCurrentChangeHandle"> | |||
|       </el-pagination> | |||
|       <detail v-if="detailVisible" | |||
|               ref="detail" | |||
|               @refreshDataList="getDataList"></detail> | |||
|     </div> | |||
|   </el-card> | |||
|     <keep-alive include="issueChangelist"> | |||
|         <component :is="selectComponent"></component> | |||
|     </keep-alive> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import mixinViewModule from '@/mixins/view-module' | |||
| import Detail from './issue-detail' | |||
| import IssueChangeList from './issue-change-list' | |||
| import IssueCloseDetailView from './issue-close-detail-view' | |||
| export default { | |||
|   mixins: [mixinViewModule], | |||
|   data () { | |||
|     return { | |||
|       mixinViewModuleOptions: { | |||
|         getDataListURL: '/events/issue/page', | |||
|         getDataListIsPage: true | |||
|       }, | |||
|       detailVisible: false, | |||
|       dataForm: { | |||
|         startTime: '', | |||
|         endTime: '', | |||
|         streetId: '', | |||
|         communityId: '', | |||
|         gridId: '', | |||
|         state: '4' | |||
|       }, | |||
|       streetOptions: [], | |||
|       communityOptions: [], | |||
|       gridOptions: [], | |||
|       pickerBeginDateBefore: { | |||
|         disabledDate: (time) => { | |||
|           let beginDateVal = this.dataForm.startTime | |||
|           if (beginDateVal) { | |||
|             return time.getTime() > new Date(beginDateVal).getTime() | |||
|           } | |||
|         } | |||
|       }, | |||
|       pickerBeginDateAfter: { | |||
|         disabledDate: (time) => { | |||
|           let EndDateVal = this.dataForm.endTime | |||
|           if (EndDateVal) { | |||
|             return time.getTime() < new Date(EndDateVal).getTime() | |||
|           } | |||
|         } | |||
|       } | |||
|       selectComponent: IssueChangeList | |||
|     } | |||
|   }, | |||
|   components: { | |||
|     Detail | |||
|   }, | |||
|   created: function () { | |||
|     this.getStreetList() | |||
|   }, | |||
|   methods: { | |||
|     detailAction (id) { | |||
|       this.detailVisible = true | |||
|       this.$nextTick(() => { | |||
|         this.$refs.detail.dataForm.id = id | |||
|         this.$refs.detail.init() | |||
|       }) | |||
|     }, | |||
|     getStreetList () { | |||
|       this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.streetOptions = res.data | |||
|       }).catch(() => { }) | |||
|     }, | |||
|     getCommunityList () { | |||
|       if (this.dataForm.streetId === '') { | |||
|         this.communityOptions = [] | |||
|         this.gridOptions = [] | |||
|         this.dataForm.communityId = '' | |||
|         this.dataForm.gridId = '' | |||
|         return | |||
|       } | |||
|       this.dataForm.communityId = '' | |||
|       this.dataForm.gridId = '' | |||
|       this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.communityOptions = res.data | |||
|       }).catch(() => { }) | |||
|     }, | |||
|     getGridList () { | |||
|       if (this.dataForm.communityId === '') { | |||
|         this.gridOptions = [] | |||
|         this.dataForm.gridId = '' | |||
|         return | |||
|       } | |||
|       this.dataForm.gridId = '' | |||
|       this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.gridOptions = res.data | |||
|       }).catch(() => { }) | |||
|     } | |||
|     IssueChangeList, | |||
|     IssueCloseDetailView | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style lang="scss" scoped> | |||
| 
 | |||
| </style> | |||
|  | |||
| @ -0,0 +1,236 @@ | |||
| <template> | |||
|   <el-card shadow="never" | |||
|            class="aui-card--fill"> | |||
|     <div class="mod-item__item}"> | |||
|       <el-form :inline="true" | |||
|                :model="dataForm" | |||
|                @keyup.enter.native="getDataList()"> | |||
|         <el-form-item label="街道"> | |||
|           <el-select v-model="dataForm.streetId" | |||
|                      placeholder="请选择" | |||
|                      clearable | |||
|                      @change="getCommunityList"> | |||
|             <el-option v-for="item in streetOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="社区"> | |||
|           <el-select v-model="dataForm.communityId" | |||
|                      placeholder="请选择" | |||
|                      clearable | |||
|                      @change="getGridList"> | |||
|             <el-option v-for="item in communityOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="网格"> | |||
|           <el-select v-model="dataForm.gridId" clearable | |||
|                      placeholder="请选择"> | |||
|             <el-option v-for="item in gridOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="时间" | |||
|                       prop="startTime"> | |||
|           <el-date-picker v-model="dataForm.startTime" | |||
|                           type="date" | |||
|                           :picker-options="pickerBeginDateBefore" | |||
|                           value-format="yyyy-MM-dd" | |||
|                           format="yyyy-MM-dd" | |||
|                           placeholder="选择日期时间"> | |||
|           </el-date-picker> | |||
|         </el-form-item> | |||
|         <el-form-item label="至" | |||
|                       label-width="25px" | |||
|                       prop="endTime"> | |||
|           <el-date-picker v-model="dataForm.endTime" | |||
|                           type="date" | |||
|                           :picker-options="pickerBeginDateAfter" | |||
|                           value-format="yyyy-MM-dd" | |||
|                           format="yyyy-MM-dd" | |||
|                           placeholder="选择日期时间"> | |||
|           </el-date-picker> | |||
|         </el-form-item> | |||
|         <el-form-item> | |||
|           <el-button @click="getDataList()">{{ $t('query') }}</el-button> | |||
|         </el-form-item> | |||
|       </el-form> | |||
|       <el-table v-loading="dataListLoading" | |||
|                 :data="dataList" | |||
|                 border | |||
|                 @selection-change="dataListSelectionChangeHandle" | |||
|                 style="width: 100%;"> | |||
|         <el-table-column label="序号" | |||
|                          type="index" | |||
|                          show-overflow-tooltip | |||
|                          align="center" | |||
|                          width="50"></el-table-column> | |||
|         <el-table-column prop="itemContent" | |||
|                          label="项目内容" | |||
|                          header-align="center" | |||
|                          width="257" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="createdTime" | |||
|                          label="转成项目时间" | |||
|                          header-align="center" | |||
|                          width="160" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="nickName" | |||
|                          label="提交人" | |||
|                          header-align="center" | |||
|                          width="120" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="participantsNum" | |||
|                          label="参与人数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="approveNum" | |||
|                          label="支持" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="opposeNum" | |||
|                          label="反对" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="commentNum" | |||
|                          label="评论数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="browseNum" | |||
|                          label="浏览数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="evaluationScore" | |||
|                          label="评价" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column :label="$t('handle')" | |||
|                          fixed="right" | |||
|                          header-align="center" | |||
|                          align="center" | |||
|                          width="150"> | |||
|           <template slot-scope="scope"> | |||
|             <el-button v-if="$hasPermission('events:item:look')" type="text" size="small" @click="detailAction1(scope.row.id)">{{ $t('look') }}</el-button> | |||
|           </template> | |||
|         </el-table-column> | |||
|       </el-table> | |||
|       <el-pagination :current-page="page" | |||
|                      :page-sizes="[10, 20, 50, 100]" | |||
|                      :page-size="limit" | |||
|                      :total="total" | |||
|                      layout="total, sizes, prev, pager, next, jumper" | |||
|                      @size-change="pageSizeChangeHandle" | |||
|                      @current-change="pageCurrentChangeHandle"> | |||
|       </el-pagination> | |||
|       <detail v-if="detailVisible" | |||
|               ref="detailRef" | |||
|               @refreshDataList="getDataList"></detail> | |||
|     </div> | |||
|   </el-card> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import mixinViewModule from '@/mixins/view-module' | |||
| import Detail from './item-detail' | |||
| export default { | |||
|   mixins: [mixinViewModule], | |||
|   name: 'ItemEndList', | |||
|   data () { | |||
|     return { | |||
|       mixinViewModuleOptions: { | |||
|         getDataListURL: '/events/item/page', | |||
|         getDataListIsPage: true | |||
|       }, | |||
|       dataForm: { | |||
|         id: '', | |||
|         itemState: '10', | |||
|         startTime: '', | |||
|         endTime: '', | |||
|         streetId: '', | |||
|         communityId: '', | |||
|         gridId: '' | |||
|       }, | |||
|       detailVisible: false, | |||
|       streetOptions: [], | |||
|       communityOptions: [], | |||
|       gridOptions: [], | |||
|       pickerBeginDateBefore: { | |||
|         disabledDate: (time) => { | |||
|           let beginDateVal = this.dataForm.startTime | |||
|           if (beginDateVal) { | |||
|             return time.getTime() > new Date(beginDateVal).getTime() | |||
|           } | |||
|         } | |||
|       }, | |||
|       pickerBeginDateAfter: { | |||
|         disabledDate: (time) => { | |||
|           let EndDateVal = this.dataForm.endTime | |||
|           if (EndDateVal) { | |||
|             return time.getTime() < new Date(EndDateVal).getTime() | |||
|           } | |||
|         } | |||
|       } | |||
|     } | |||
|   }, | |||
|   components: { | |||
|     Detail | |||
|   }, | |||
|   created: function () { | |||
|     this.getStreetList() | |||
|   }, | |||
|   methods: { | |||
|     detailAction1 (id) { | |||
|       this.$parent.selectComponent = 'ItemCloseDetailView' | |||
|       this.$router.push({ path: '/events-item-end', query: { id: id } }) | |||
|     }, | |||
|     getStreetList () { | |||
|       this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.streetOptions = res.data | |||
|       }).catch(() => { }) | |||
|     }, | |||
|     getCommunityList () { | |||
|       if (this.dataForm.streetId === '') { | |||
|         this.communityOptions = [] | |||
|         this.gridOptions = [] | |||
|         this.dataForm.communityId = '' | |||
|         this.dataForm.gridId = '' | |||
|         return | |||
|       } | |||
|       this.dataForm.communityId = '' | |||
|       this.dataForm.gridId = '' | |||
|       this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.communityOptions = res.data | |||
|       }).catch(() => { }) | |||
|     }, | |||
|     getGridList () { | |||
|       if (this.dataForm.communityId === '') { | |||
|         this.gridOptions = [] | |||
|         this.dataForm.gridId = '' | |||
|         return | |||
|       } | |||
|       this.dataForm.gridId = '' | |||
|       this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.gridOptions = res.data | |||
|       }).catch(() => { }) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| @ -1,234 +1,25 @@ | |||
| <template> | |||
|   <el-card shadow="never" | |||
|            class="aui-card--fill"> | |||
|     <div class="mod-item__item}"> | |||
|       <el-form :inline="true" | |||
|                :model="dataForm" | |||
|                @keyup.enter.native="getDataList()"> | |||
|         <el-form-item label="街道"> | |||
|           <el-select v-model="dataForm.streetId" | |||
|                      placeholder="请选择" | |||
|                      clearable | |||
|                      @change="getCommunityList"> | |||
|             <el-option v-for="item in streetOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="社区"> | |||
|           <el-select v-model="dataForm.communityId" | |||
|                      placeholder="请选择" | |||
|                      clearable | |||
|                      @change="getGridList"> | |||
|             <el-option v-for="item in communityOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="网格"> | |||
|           <el-select v-model="dataForm.gridId" clearable | |||
|                      placeholder="请选择"> | |||
|             <el-option v-for="item in gridOptions" | |||
|                        :key="item.id" | |||
|                        :label="item.name" | |||
|                        :value="item.id"> | |||
|             </el-option> | |||
|           </el-select> | |||
|         </el-form-item> | |||
|         <el-form-item label="时间" | |||
|                       prop="startTime"> | |||
|           <el-date-picker v-model="dataForm.startTime" | |||
|                           type="date" | |||
|                           :picker-options="pickerBeginDateBefore" | |||
|                           value-format="yyyy-MM-dd" | |||
|                           format="yyyy-MM-dd" | |||
|                           placeholder="选择日期时间"> | |||
|           </el-date-picker> | |||
|         </el-form-item> | |||
|         <el-form-item label="至" | |||
|                       label-width="25px" | |||
|                       prop="endTime"> | |||
|           <el-date-picker v-model="dataForm.endTime" | |||
|                           type="date" | |||
|                           :picker-options="pickerBeginDateAfter" | |||
|                           value-format="yyyy-MM-dd" | |||
|                           format="yyyy-MM-dd" | |||
|                           placeholder="选择日期时间"> | |||
|           </el-date-picker> | |||
|         </el-form-item> | |||
|         <el-form-item> | |||
|           <el-button @click="getDataList()">{{ $t('query') }}</el-button> | |||
|         </el-form-item> | |||
|       </el-form> | |||
|       <el-table v-loading="dataListLoading" | |||
|                 :data="dataList" | |||
|                 border | |||
|                 @selection-change="dataListSelectionChangeHandle" | |||
|                 style="width: 100%;"> | |||
|         <el-table-column type="selection" | |||
|                          header-align="center" | |||
|                          align="center" | |||
|                          width="50"></el-table-column> | |||
|         <el-table-column prop="itemContent" | |||
|                          label="项目内容" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="createdTime" | |||
|                          label="转成项目时间" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="nickName" | |||
|                          label="提交人" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="participantsNum" | |||
|                          label="参与人数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="approveNum" | |||
|                          label="支持" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="opposeNum" | |||
|                          label="反对" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="commentNum" | |||
|                          label="评论数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="browseNum" | |||
|                          label="浏览数" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column prop="evaluationScore" | |||
|                          label="评价" | |||
|                          header-align="center" | |||
|                          align="center"></el-table-column> | |||
|         <el-table-column :label="$t('handle')" | |||
|                          fixed="right" | |||
|                          header-align="center" | |||
|                          align="center" | |||
|                          width="150"> | |||
|           <template slot-scope="scope"> | |||
|             <el-button v-if="$hasPermission('events:item:look')" type="text" size="small" @click="detailAction1(scope.row.id)">{{ $t('look') }}</el-button> | |||
|           </template> | |||
|         </el-table-column> | |||
|       </el-table> | |||
|       <el-pagination :current-page="page" | |||
|                      :page-sizes="[10, 20, 50, 100]" | |||
|                      :page-size="limit" | |||
|                      :total="total" | |||
|                      layout="total, sizes, prev, pager, next, jumper" | |||
|                      @size-change="pageSizeChangeHandle" | |||
|                      @current-change="pageCurrentChangeHandle"> | |||
|       </el-pagination> | |||
|       <detail v-if="detailVisible" | |||
|               ref="detailRef" | |||
|               @refreshDataList="getDataList"></detail> | |||
|     </div> | |||
|   </el-card> | |||
|     <keep-alive include="ItemEndList"> | |||
|         <component :is="selectComponent"></component> | |||
|     </keep-alive> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import mixinViewModule from '@/mixins/view-module' | |||
| import Detail from './item-detail' | |||
| import ItemEndList from './item-end-list' | |||
| import ItemCloseDetailView from './item-close-detail-view' | |||
| export default { | |||
|   mixins: [mixinViewModule], | |||
|   data () { | |||
|     return { | |||
|       mixinViewModuleOptions: { | |||
|         getDataListURL: '/events/item/page', | |||
|         getDataListIsPage: true | |||
|       }, | |||
|       dataForm: { | |||
|         id: '', | |||
|         itemState: '10', | |||
|         startTime: '', | |||
|         endTime: '', | |||
|         streetId: '', | |||
|         communityId: '', | |||
|         gridId: '' | |||
|       }, | |||
|       detailVisible: false, | |||
|       streetOptions: [], | |||
|       communityOptions: [], | |||
|       gridOptions: [], | |||
|       pickerBeginDateBefore: { | |||
|         disabledDate: (time) => { | |||
|           let beginDateVal = this.dataForm.startTime | |||
|           if (beginDateVal) { | |||
|             return time.getTime() > new Date(beginDateVal).getTime() | |||
|           } | |||
|         } | |||
|       }, | |||
|       pickerBeginDateAfter: { | |||
|         disabledDate: (time) => { | |||
|           let EndDateVal = this.dataForm.endTime | |||
|           if (EndDateVal) { | |||
|             return time.getTime() < new Date(EndDateVal).getTime() | |||
|           } | |||
|         } | |||
|       } | |||
|       selectComponent: ItemEndList | |||
|     } | |||
|   }, | |||
|   components: { | |||
|     Detail | |||
|   }, | |||
|   created: function () { | |||
|     this.getStreetList() | |||
|   }, | |||
|   methods: { | |||
|     detailAction1 (id) { | |||
|       this.detailVisible = true | |||
|       this.$nextTick(() => { | |||
|         this.$refs.detailRef.dataForm.id = id | |||
|         this.$refs.detailRef.init() | |||
|       }) | |||
|     }, | |||
|     getStreetList () { | |||
|       this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.streetOptions = res.data | |||
|       }).catch(() => { }) | |||
|     }, | |||
|     getCommunityList () { | |||
|       if (this.dataForm.streetId === '') { | |||
|         this.communityOptions = [] | |||
|         this.gridOptions = [] | |||
|         this.dataForm.communityId = '' | |||
|         this.dataForm.gridId = '' | |||
|         return | |||
|       } | |||
|       this.dataForm.communityId = '' | |||
|       this.dataForm.gridId = '' | |||
|       this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.communityOptions = res.data | |||
|       }).catch(() => { }) | |||
|     }, | |||
|     getGridList () { | |||
|       if (this.dataForm.communityId === '') { | |||
|         this.gridOptions = [] | |||
|         this.dataForm.gridId = '' | |||
|         return | |||
|       } | |||
|       this.dataForm.gridId = '' | |||
|       this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { | |||
|         if (res.code !== 0) { | |||
|           return this.$message.error(res.msg) | |||
|         } | |||
|         this.gridOptions = res.data | |||
|       }).catch(() => { }) | |||
|     } | |||
|     ItemEndList, | |||
|     ItemCloseDetailView | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style lang="scss" scoped> | |||
| 
 | |||
| </style> | |||
|  | |||
					Loading…
					
					
				
		Reference in new issue