Blame view

src/views/baseSpecialhandle/index.vue 9.09 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 />
f1a44e73   monkeyhouyi   1
38
                <el-table-column prop="content" label="内容" align="left" show-overflow-tooltip />
5a14192c   monkeyhouyi   1
39
40
                <el-table-column prop="state" label="状态" align="left" show-overflow-tooltip >
                  <template slot-scope="scope">
1a760680   monkeyhouyi   专项行动添加已发布状态,已发布数据...
41
42
                    <el-tag v-if="scope.row.Fabustate == '已发布并部署'" :type="scope.row.state == '已填写' ? 'success' : 'warning'">{{ scope.row.state }}</el-tag>
                    <el-tag v-else type="success">{{ scope.row.Fabustate }}</el-tag>
5a14192c   monkeyhouyi   1
43
44
                  </template>
                </el-table-column>
73755355   monkeyhouyi   优化
45
                <el-table-column prop="deadline" label="截止日期" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip>
5a14192c   monkeyhouyi   1
46
                  <template slot-scope="scope">
89ab0203   monkeyhouyi   修改个人信息弹框
47
                      <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
48
49
                  </template>
                </el-table-column>
73755355   monkeyhouyi   优化
50
                <el-table-column label="操作" fixed="right" width="200">
1916a5ed   “wangming”   1
51
                  <template slot-scope="scope">
73755355   monkeyhouyi   优化
52
                    <el-button type="text" @click="toDetail(scope.row)">行动详情</el-button>
1a760680   monkeyhouyi   专项行动添加已发布状态,已发布数据...
53
                    <el-button type="text" v-if="scope.row.Fabustate != '已发布'" @click="toFillForm(scope.row)" :disabled="ncc.timeDeadLine(scope.row.deadline) == 'danger' && scope.row.state == '已填写'">{{scope.row.state == '已填写' ? '修改' : '处理'}}</el-button>
541d55ac   monkeyhouyi   优化
54
                    <el-button type="text" @click="toFillForm(scope.row, true)" :disabled="scope.row.state != '已填写'">详情</el-button>
1916a5ed   “wangming”   1
55
56
57
58
59
                  </template>
                </el-table-column>
              </NCC-table>
              <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
                @pagination="initData" />
ce1de261   monkeyhouyi   专项行动
60
61
62
            </div>
          </div>
        </div>
1916a5ed   “wangming”   1
63
      </div>
be009217   monkeyhouyi   处理,通知公告,任务中心
64
      <NCCForm v-if="dialogVisible" ref="NCCForm" @refreshDataList="refresh" />
73755355   monkeyhouyi   优化
65
      <FormPage v-if="FormPageVisible" ref="FormPage" @refresh="FormPageVisible = false"/>
1916a5ed   “wangming”   1
66
      <!-- <el-dialog title="专项行动处理" :visible.sync="dialogVisible" fullscreen :modal="false">
ce1de261   monkeyhouyi   专项行动
67
68
69
70
71
72
73
          <iframe 
            :src="nestedPageUrl" 
            width="100%" 
            :height="viewportHeight - 58 + 'px'" 
            frameborder="0" 
            allowfullscreen>
          </iframe>
1916a5ed   “wangming”   1
74
75
76
77
78
79
        </el-dialog> -->
    </div>
  </template>
  <script>
  import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form'
  import request from "@/utils/request";
73755355   monkeyhouyi   优化
80
  import FormPage from "@/views/baseSpecialAction/FormPage.vue";
541d55ac   monkeyhouyi   优化
81
  import { Loading } from 'element-ui';
73755355   monkeyhouyi   优化
82
  
1916a5ed   “wangming”   1
83
  export default {
73755355   monkeyhouyi   优化
84
    components: { NCCForm, FormPage },
1916a5ed   “wangming”   1
85
86
87
88
89
    data() {
      return {
        query: {
          title: undefined,
          state: undefined,
ce1de261   monkeyhouyi   专项行动
90
        },
1916a5ed   “wangming”   1
91
92
93
94
95
96
97
98
        list: [],
        listLoading: false,
        total: 0,
        listQuery: {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
ce1de261   monkeyhouyi   专项行动
99
        },
1916a5ed   “wangming”   1
100
101
102
103
104
        communicationAreaOptions: [],
        communicationOutOptions: [],
        dialogVisible: false,
        nestedPageUrl: '',
        viewportHeight: 0,
be009217   monkeyhouyi   处理,通知公告,任务中心
105
        taskId: '',
73755355   monkeyhouyi   优化
106
        FormPageVisible: false,
1916a5ed   “wangming”   1
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
      };
    },
    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() {
bae8b004   monkeyhouyi   1
131
        this.list = [];
1916a5ed   “wangming”   1
132
133
134
135
136
137
138
139
140
141
142
        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   专项行动
143
          }
1916a5ed   “wangming”   1
144
145
146
147
148
149
150
151
152
153
154
        }
        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   优化
155
156
157
158
159
160
161
      toDetail(row) {
        this.FormPageVisible = true;
        this.$nextTick(() => {
          row.id = row.specialActionId;
          this.$refs.FormPage.init(row);
        });
      },
87e6927c   monkeyhouyi   弹框样式
162
      toFillForm(row, isDetail) {
541d55ac   monkeyhouyi   优化
163
164
165
166
167
168
        let loadingInstance = Loading.service({
          lock: true,
          text: 'Loading',
          spinner: 'el-icon-loading',
          background: 'rgba(255, 255, 255, 0.7)'
        });
1916a5ed   “wangming”   1
169
        this.dialogVisible = true;
be009217   monkeyhouyi   处理,通知公告,任务中心
170
171
172
        var  Itemid = row.itemId || '';//数据id,没有的话就是新增 ,有的话就是修改
        var  modelId = row.formId;//关联的表单id
        var taskId = row.id; // 当前专项行动id
1916a5ed   “wangming”   1
173
174
175
176
        var isPreview = false;//固定死,值不变
        var useFormPermission = false;//固定死,值不变
        var formData = [];
        request({
1859abe1   “wangming”   1
177
          url: '/visualdev/OnlineDev/'+modelId+'/Config',
1916a5ed   “wangming”   1
178
179
180
          method: "GET",
          params:null
        }).then(res => {
87e6927c   monkeyhouyi   弹框样式
181
182
183
          formData = JSON.parse(res.data.formData);
          formData.disabled = isDetail || false;
          let form = JSON.stringify(formData);
541d55ac   monkeyhouyi   优化
184
185
          this.$refs.NCCForm.init(form, modelId, Itemid, isPreview, useFormPermission, taskId, isDetail);
          loadingInstance.close();
1916a5ed   “wangming”   1
186
187
188
189
190
191
192
193
194
        });
      
        // 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
195
196
        // });
      },
ce1de261   monkeyhouyi   专项行动
197
  
1916a5ed   “wangming”   1
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
228
229
      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   处理,通知公告,任务中心
230
    
1916a5ed   “wangming”   1
231
232
233
234
235
236
237
238
239
240
241
      reset() {
        for (let key in this.query) {
          this.query[key] = undefined;
        }
        this.listQuery = {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        };
        this.initData();
ce1de261   monkeyhouyi   专项行动
242
      },
1916a5ed   “wangming”   1
243
244
245
246
247
248
249
250
    },
  };
  </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   专项行动
251
    }
1916a5ed   “wangming”   1
252
253
  }
  </style>