Blame view

src/views/baseSpecialhandle/index.vue 8.9 KB
ce1de261   monkeyhouyi   专项行动
1
  <template>
1916a5ed   “wangming”   1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    <div class="baseSpecialAction item-box common-info-box">
      <div class="item-title">专项行动处理</div>
      <div class="item-body">
        <div class="NCC-common-layout">
          <div class="NCC-common-layout-center">
            <el-row class="NCC-common-search-box" :gutter="16">
              <el-form @submit.native.prevent size="mini">
                <el-col :span="6">
                  <el-form-item label="">
                    <el-input v-model="query.title" placeholder="标题" clearable />
                  </el-form-item>
                </el-col>
                <el-col :span="6">
                  <el-form-item label="">
                    <el-select v-model="query.state" placeholder="请选择状态" clearable>
                      <el-option label="已填写" value="已填写"></el-option>
                      <el-option label="未填写" value="未填写"></el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="6">
                  <el-form-item>
                    <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button>
                    <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button>
                  </el-form-item>
                </el-col>
              </el-form>
              <div class="NCC-common-search-box-right">
73755355   monkeyhouyi   优化
30
31
                <!-- <el-button type="success" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button> -->
                <!-- <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> -->
ce1de261   monkeyhouyi   专项行动
32
              </div>
1916a5ed   “wangming”   1
33
34
35
            </el-row>
            <div class="NCC-common-layout-main NCC-flex-main">
              <NCC-table v-loading="listLoading" :data="list">
73755355   monkeyhouyi   优化
36
                <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip /> -->
1916a5ed   “wangming”   1
37
                <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip />
73755355   monkeyhouyi   优化
38
                <!-- <el-table-column prop="content" label="内容" align="left" show-overflow-tooltip /> -->
5a14192c   monkeyhouyi   1
39
40
41
42
43
                <el-table-column prop="state" label="状态" align="left" show-overflow-tooltip >
                  <template slot-scope="scope">
                    <el-tag :type="scope.row.state == '已填写' ? 'success' : 'warning'">{{ scope.row.state }}</el-tag>
                  </template>
                </el-table-column>
73755355   monkeyhouyi   优化
44
                <el-table-column prop="deadline" label="截止日期" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip>
5a14192c   monkeyhouyi   1
45
                  <template slot-scope="scope">
89ab0203   monkeyhouyi   修改个人信息弹框
46
                      <el-tag v-if="scope.row.deadline" :type="ncc.timeDeadLine(scope.row.deadline)">{{ncc.stateDeadLine(scope.row.deadline)}}{{ ncc.tableDateFormat(scope.row, 'deadline', scope.row.deadline) }}</el-tag>
5a14192c   monkeyhouyi   1
47
48
                  </template>
                </el-table-column>
73755355   monkeyhouyi   优化
49
                <el-table-column label="操作" fixed="right" width="200">
1916a5ed   “wangming”   1
50
                  <template slot-scope="scope">
73755355   monkeyhouyi   优化
51
                    <el-button type="text" @click="toDetail(scope.row)">行动详情</el-button>
5a14192c   monkeyhouyi   1
52
                    <el-button type="text" @click="toFillForm(scope.row)" :disabled="ncc.timeDeadLine(scope.row.deadline) == 'danger' && scope.row.state == '已填写'">{{scope.row.state == '已填写' ? '修改' : '处理'}}</el-button>
541d55ac   monkeyhouyi   优化
53
                    <el-button type="text" @click="toFillForm(scope.row, true)" :disabled="scope.row.state != '已填写'">详情</el-button>
1916a5ed   “wangming”   1
54
55
56
57
58
                  </template>
                </el-table-column>
              </NCC-table>
              <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
                @pagination="initData" />
ce1de261   monkeyhouyi   专项行动
59
60
61
            </div>
          </div>
        </div>
1916a5ed   “wangming”   1
62
      </div>
be009217   monkeyhouyi   处理,通知公告,任务中心
63
      <NCCForm v-if="dialogVisible" ref="NCCForm" @refreshDataList="refresh" />
73755355   monkeyhouyi   优化
64
      <FormPage v-if="FormPageVisible" ref="FormPage" @refresh="FormPageVisible = false"/>
1916a5ed   “wangming”   1
65
      <!-- <el-dialog title="专项行动处理" :visible.sync="dialogVisible" fullscreen :modal="false">
ce1de261   monkeyhouyi   专项行动
66
67
68
69
70
71
72
          <iframe 
            :src="nestedPageUrl" 
            width="100%" 
            :height="viewportHeight - 58 + 'px'" 
            frameborder="0" 
            allowfullscreen>
          </iframe>
1916a5ed   “wangming”   1
73
74
75
76
77
78
        </el-dialog> -->
    </div>
  </template>
  <script>
  import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form'
  import request from "@/utils/request";
73755355   monkeyhouyi   优化
79
  import FormPage from "@/views/baseSpecialAction/FormPage.vue";
541d55ac   monkeyhouyi   优化
80
  import { Loading } from 'element-ui';
73755355   monkeyhouyi   优化
81
  
1916a5ed   “wangming”   1
82
  export default {
73755355   monkeyhouyi   优化
83
    components: { NCCForm, FormPage },
1916a5ed   “wangming”   1
84
85
86
87
88
    data() {
      return {
        query: {
          title: undefined,
          state: undefined,
ce1de261   monkeyhouyi   专项行动
89
        },
1916a5ed   “wangming”   1
90
91
92
93
94
95
96
97
        list: [],
        listLoading: false,
        total: 0,
        listQuery: {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
ce1de261   monkeyhouyi   专项行动
98
        },
1916a5ed   “wangming”   1
99
100
101
102
103
        communicationAreaOptions: [],
        communicationOutOptions: [],
        dialogVisible: false,
        nestedPageUrl: '',
        viewportHeight: 0,
be009217   monkeyhouyi   处理,通知公告,任务中心
104
        taskId: '',
73755355   monkeyhouyi   优化
105
        FormPageVisible: false,
1916a5ed   “wangming”   1
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
      };
    },
    created() {
      this.updateViewportHeight();
      this.initData()
      // 监听窗口大小变化事件
      window.addEventListener('resize', this.updateViewportHeight);
    },
    beforeDestroy() {
      // 移除窗口大小变化事件监听器
      window.removeEventListener('resize', this.updateViewportHeight);
    },
    computed: {
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
        return this.$store.state.user.islader;
      },
    },
    methods: {
      updateViewportHeight() {
        // 获取页面显示高度
        this.viewportHeight = window.innerHeight || document.documentElement.clientHeight;
      },
      initData() {
        this.listLoading = true;
        let _query = {
          ...this.listQuery,
          ...this.query,
        };
        let query = {};
        for (let key in _query) {
          if (Array.isArray(_query[key])) {
            query[key] = _query[key].join();
          } else {
            query[key] = _query[key];
ce1de261   monkeyhouyi   专项行动
141
          }
1916a5ed   “wangming”   1
142
143
144
145
146
147
148
149
150
151
152
        }
        request({
          url: '/Extend/BaseSpecialAction/getCurrentUserSpecialAction',
          method: "GET",
          params: query,
        }).then((res) => {
          this.list = res.data.list;
          this.total = res.data.pagination.total;
          this.listLoading = false;
        });
      },
73755355   monkeyhouyi   优化
153
154
155
156
157
158
159
      toDetail(row) {
        this.FormPageVisible = true;
        this.$nextTick(() => {
          row.id = row.specialActionId;
          this.$refs.FormPage.init(row);
        });
      },
87e6927c   monkeyhouyi   弹框样式
160
      toFillForm(row, isDetail) {
541d55ac   monkeyhouyi   优化
161
162
163
164
165
166
        let loadingInstance = Loading.service({
          lock: true,
          text: 'Loading',
          spinner: 'el-icon-loading',
          background: 'rgba(255, 255, 255, 0.7)'
        });
1916a5ed   “wangming”   1
167
        this.dialogVisible = true;
be009217   monkeyhouyi   处理,通知公告,任务中心
168
169
170
        var  Itemid = row.itemId || '';//数据id,没有的话就是新增 ,有的话就是修改
        var  modelId = row.formId;//关联的表单id
        var taskId = row.id; // 当前专项行动id
1916a5ed   “wangming”   1
171
172
173
174
        var isPreview = false;//固定死,值不变
        var useFormPermission = false;//固定死,值不变
        var formData = [];
        request({
1859abe1   “wangming”   1
175
          url: '/visualdev/OnlineDev/'+modelId+'/Config',
1916a5ed   “wangming”   1
176
177
178
          method: "GET",
          params:null
        }).then(res => {
87e6927c   monkeyhouyi   弹框样式
179
180
181
          formData = JSON.parse(res.data.formData);
          formData.disabled = isDetail || false;
          let form = JSON.stringify(formData);
541d55ac   monkeyhouyi   优化
182
183
          this.$refs.NCCForm.init(form, modelId, Itemid, isPreview, useFormPermission, taskId, isDetail);
          loadingInstance.close();
1916a5ed   “wangming”   1
184
185
186
187
188
189
190
191
192
        });
      
        // this.nestedPageUrl = `http://8.130.38.56:8043/old/#/previewModel?isPreview=1&id=${row.originId}`;
        // request({
        //   url: '/visualdev/Base',
        //   method: "GET",
        //   data: {type: 1},
        // }).then((res) => {
        // this.BaseList = res.data.list[0].children.find(v => v.category == row.originId);
1916a5ed   “wangming”   1
193
194
        // });
      },
ce1de261   monkeyhouyi   专项行动
195
  
1916a5ed   “wangming”   1
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
      exportData() {
        this.exportBoxVisible = true;
        this.$nextTick(() => {
          this.$refs.ExportBox.init(this.list);
        });
      },
      download(data) {
        let query = { ...data, ...this.listQuery, ...this.query };
        request({
          url: `/Extend/BaseSpecialAction/Actions/Export`,
          method: "GET",
          data: query,
        }).then((res) => {
          if (!res.data.url) return;
          window.location.href = this.define.comUrl + res.data.url;
          this.$refs.ExportBox.visible = false;
          this.exportBoxVisible = false;
        });
      },
      search() {
        this.listQuery = {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        };
        this.initData();
      },
      refresh(isrRefresh) {
        this.formVisible = false;
        if (isrRefresh) this.reset();
      },
be009217   monkeyhouyi   处理,通知公告,任务中心
228
    
1916a5ed   “wangming”   1
229
230
231
232
233
234
235
236
237
238
239
      reset() {
        for (let key in this.query) {
          this.query[key] = undefined;
        }
        this.listQuery = {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        };
        this.initData();
ce1de261   monkeyhouyi   专项行动
240
      },
1916a5ed   “wangming”   1
241
242
243
244
245
246
247
248
    },
  };
  </script>
  <style scoped lang="scss">
  .common-info-box {
    :deep(.el-table__body-wrapper.is-scrolling-none) {
      height: calc(100% - 47px);
      overflow-y: scroll;
ce1de261   monkeyhouyi   专项行动
249
    }
1916a5ed   “wangming”   1
250
251
  }
  </style>