Showing
6 changed files
with
0 additions
and
495 deletions
1 | -<title>设计器预览</title> | ||
2 | -<script type="text/html" template> | ||
3 | - {{# | ||
4 | - var viewURL = window.location.origin + '/vue3/index.html#/ajConfig/view'; | ||
5 | - layui.use(['sessions','common','admin'], function () { | ||
6 | - var $ = layui.$; | ||
7 | - var common = layui.common; | ||
8 | - var admin = layui.admin; | ||
9 | - var arr = []; | ||
10 | - window.location.hash.split('/').forEach(function (v, i) { | ||
11 | - if (v.indexOf('=') != -1) { | ||
12 | - arr.push(v); | ||
13 | - } | ||
14 | - }); | ||
15 | - | ||
16 | - if (arr.length > 0) { | ||
17 | - viewURL += "?" + arr.join("&"); | ||
18 | - } | ||
19 | - $('#actionListIframe').attr('src',viewURL); | ||
20 | - }); | ||
21 | - }} | ||
22 | - <iframe id="actionListIframe" src="{{viewURL}}" frameborder="0" class="layadmin-iframe" style="height: 99.5%!important;"></iframe> | ||
23 | -</script> |
1 | -<div class="container" :style="{'height':height+'px','max-height':height+'px'}"> | ||
2 | - <div class="cm-card" :style="{'min-height':height+'px','max-height':height+'px','height':'100%'}"> | ||
3 | - <div class="search"> | ||
4 | - <div class="btns" style="justify-content: left;padding-left: 0px"> | ||
5 | - <el-form-item> | ||
6 | - <el-button type="primary" @click="addAj()" style="margin-left: 10px">新增</el-button> | ||
7 | - </el-form-item> | ||
8 | - </div> | ||
9 | - <div class="design" style="float:right;padding-left: 1410px"> | ||
10 | - <el-form-item> | ||
11 | - <el-button type="primary" @click="handleView()" style="margin-left: 10px">设计</el-button> | ||
12 | - </el-form-item> | ||
13 | - </div> | ||
14 | - </div> | ||
15 | - | ||
16 | - <div class="search-table"> | ||
17 | - <cm-table-page :columns="columns" :dataList="tableDataList" @loaddata="loadTableDataList" | ||
18 | - :showIndex="true" :total="count" :showSelection="true" | ||
19 | - :showBorder="true" :loading="false" :pageSize="pageSize" | ||
20 | - :showPage="true" :showTools="true" :height="(height - 130)" > | ||
21 | - <template #default="{row,prop,column}"> | ||
22 | - <div v-if="prop == 'type'"> | ||
23 | - <div v-if="row.type == 0"> | ||
24 | - <el-tag>菜单</el-tag> | ||
25 | - </div> | ||
26 | - | ||
27 | - <div v-if="row.type == 1"> | ||
28 | - <el-tag>按钮</el-tag> | ||
29 | - </div> | ||
30 | - | ||
31 | - <div v-if="row.type == 2"> | ||
32 | - <el-tag>详情页</el-tag> | ||
33 | - </div> | ||
34 | - </div> | ||
35 | - </template> | ||
36 | - <template #tools="{scope}"> | ||
37 | - <div class="list-handle"> | ||
38 | - <span class="icon-bg"> | ||
39 | - <i class="el-icon-delete" title="删除" @click="handleDelete(scope.row)"></i> | ||
40 | - </span> | ||
41 | - <span class="icon-bg"> | ||
42 | - <i class="el-icon-edit-outline" title="修改" @click="handleUpdate(scope.row)"></i> | ||
43 | - </span> | ||
44 | - <span class="icon-bg"> | ||
45 | - <i class="el-icon-view" title="预览" @click="handleView(scope.row)"></i> | ||
46 | - </span> | ||
47 | - </div> | ||
48 | - </template> | ||
49 | - </cm-table-page> | ||
50 | - </div> | ||
51 | - </div> | ||
52 | -</div> | ||
53 | - | ||
54 | -<!--新增编辑弹框--> | ||
55 | -<cm-dialog :title="titleName" width="40%" :showDialogVisible="cacheVisible" @hidedialog="cancelBtn" :showFooter="false"> | ||
56 | - <template v-slot> | ||
57 | - <el-form | ||
58 | - label-width="120px" | ||
59 | - ref="ruleForm" | ||
60 | - :model="ajConfigFrom" | ||
61 | - :rules="docRulesForm" | ||
62 | - label-position="right" | ||
63 | - label-width="120px"> | ||
64 | - | ||
65 | - <el-form-item label="编号" prop="id"> | ||
66 | - <el-input :size="$global.elementSize" v-model="ajConfigFrom.id" clearable></el-input> | ||
67 | - </el-form-item> | ||
68 | - | ||
69 | - | ||
70 | - <el-form-item label="类型" prop="type"> | ||
71 | - <el-radio v-model="ajConfigFrom.type" label="0" size="large">菜单</el-radio> | ||
72 | - <el-radio v-model="ajConfigFrom.type" label="1" size="large">按钮</el-radio> | ||
73 | - <el-radio v-model="ajConfigFrom.type" label="2" size="large">详情页</el-radio> | ||
74 | - <div> | ||
75 | - <span>示例:12345646 说明:12132123</span> | ||
76 | - </div> | ||
77 | - </el-form-item> | ||
78 | - | ||
79 | - | ||
80 | - <el-form-item label="父菜单" prop="menuPid" v-if="ajConfigFrom.type==0"> | ||
81 | - <el-select v-model="ajConfigFrom.menuPid" placeholder="请选择" style="width: 555px;"> | ||
82 | - <el-option | ||
83 | - v-for="item in menuOptions" | ||
84 | - :key="item.value" | ||
85 | - :label="item.label" | ||
86 | - :value="item.value" | ||
87 | - :disabled="item.disabled"> | ||
88 | - </el-option> | ||
89 | - </el-select> | ||
90 | - </el-form-item> | ||
91 | - | ||
92 | - <el-form-item label="菜单名称" prop="menuName" v-if="ajConfigFrom.type==0"> | ||
93 | - <el-input :size="$global.elementSize" v-model="ajConfigFrom.menuName" clearable></el-input> | ||
94 | - </el-form-item> | ||
95 | - | ||
96 | - <el-form-item label="设计页面" prop="designPage"> | ||
97 | - <el-select v-model="ajConfigFrom.designPage" placeholder="请选择" style="width: 510px;"> | ||
98 | - <el-option | ||
99 | - v-for="item in options" | ||
100 | - :key="item.value" | ||
101 | - :label="item.label" | ||
102 | - :value="item.value" | ||
103 | - :disabled="item.disabled"> | ||
104 | - </el-option> | ||
105 | - </el-select> | ||
106 | - <el-tag @click="preview(ajConfigFrom.designPage)" :size="large">预览</el-tag> | ||
107 | - </el-form-item> | ||
108 | - | ||
109 | - <el-form-item label="传递参数" prop="param"> | ||
110 | - <el-input :size="$global.elementSize" v-model="ajConfigFrom.param" clearable></el-input> | ||
111 | - <span>示例:12345646 说明:12132123</span> | ||
112 | - </el-form-item> | ||
113 | - | ||
114 | - <el-form-item label="资源类型" prop="resType" v-if="ajConfigFrom.type==2"> | ||
115 | - <el-input :size="$global.elementSize" v-model="ajConfigFrom.resType" clearable></el-input> | ||
116 | - </el-form-item> | ||
117 | - | ||
118 | - <el-form-item label="厂商" prop="firm" v-if="ajConfigFrom.type==2"> | ||
119 | - <el-input :size="$global.elementSize" v-model="ajConfigFrom.firm" clearable></el-input> | ||
120 | - </el-form-item> | ||
121 | - | ||
122 | - <el-form-item label="绑定资源" prop="resource" v-if="ajConfigFrom.type==2"> | ||
123 | - <el-input :size="$global.elementSize" v-model="ajConfigFrom.resource" clearable></el-input> | ||
124 | - </el-form-item> | ||
125 | - | ||
126 | - <el-form-item label="备注" prop="remark"> | ||
127 | - <el-input :size="$global.elementSize" v-model="ajConfigFrom.remark" clearable></el-input> | ||
128 | - </el-form-item> | ||
129 | - | ||
130 | - <el-form-item> | ||
131 | - <el-button :size="$global.elementSize" type="primary" @click="addAjConfig('ruleForm')">保存</el-button> | ||
132 | - <el-button :size="$global.elementSize" @click="cancelBtn">取消</el-button> | ||
133 | - </el-form-item> | ||
134 | - </el-form> | ||
135 | - </template> | ||
136 | -</cm-dialog> | ||
137 | - |
1 | -export default { | ||
2 | - name: 'ajConfig', | ||
3 | - template: '', | ||
4 | - components: {}, | ||
5 | - props:[], | ||
6 | - data () { | ||
7 | - return { | ||
8 | - radio:'0', | ||
9 | - docRulesForm: { | ||
10 | - id: [ | ||
11 | - { | ||
12 | - required: true, | ||
13 | - message: '请填写文档编号!', | ||
14 | - trigger: 'blur', | ||
15 | - } | ||
16 | - ], | ||
17 | - type:[{ | ||
18 | - required: true, | ||
19 | - message: '请选择类型!', | ||
20 | - trigger: 'blur', | ||
21 | - }], | ||
22 | - designPage:[{ | ||
23 | - required: true, | ||
24 | - message: '请选择设计页面!', | ||
25 | - trigger: 'blur', | ||
26 | - }], | ||
27 | - resource:[{ | ||
28 | - required: true, | ||
29 | - message: '请填写绑定资源!', | ||
30 | - trigger: 'blur', | ||
31 | - }], | ||
32 | - } | ||
33 | - } | ||
34 | - | ||
35 | - }, | ||
36 | - setup(props, {attrs, slots, emit}){ | ||
37 | - const {proxy} = Vue.getCurrentInstance(); | ||
38 | - let height = Vue.ref(window.innerHeight - 10); | ||
39 | - //表格字段 | ||
40 | - let columns=Vue.ref([ | ||
41 | - { | ||
42 | - prop: 'id', | ||
43 | - label: '编号', | ||
44 | - sortable: true, | ||
45 | - align: 'center', | ||
46 | - width:'250' | ||
47 | - }, | ||
48 | - { | ||
49 | - prop: 'type', | ||
50 | - label: '类型', | ||
51 | - sortable: true, | ||
52 | - align: 'center', | ||
53 | - width:'250', | ||
54 | - }, | ||
55 | - { | ||
56 | - prop: 'resType', | ||
57 | - label: '资源类型', | ||
58 | - sortable: true, | ||
59 | - align: 'center', | ||
60 | - width:'250' | ||
61 | - },{ | ||
62 | - prop: 'firm', | ||
63 | - label: '品牌', | ||
64 | - sortable: true, | ||
65 | - align: 'center', | ||
66 | - width:'250' | ||
67 | - },{ | ||
68 | - prop: 'designPage', | ||
69 | - label: '设计器名称', | ||
70 | - sortable: true, | ||
71 | - align: 'center', | ||
72 | - width:'250' | ||
73 | - },{ | ||
74 | - prop: 'param', | ||
75 | - label: '参数', | ||
76 | - sortable: true, | ||
77 | - align: 'left' | ||
78 | - } | ||
79 | - ]) | ||
80 | - let currentPage=Vue.ref(1); | ||
81 | - let pageSize=Vue.ref(10); | ||
82 | - let keyword=Vue.ref(); | ||
83 | - let count=Vue.ref(0); | ||
84 | - let tableDataList=Vue.ref([]); | ||
85 | - let checkedId = Vue.ref(0); | ||
86 | - let titleName=Vue.ref('新增配置信息') | ||
87 | - let cacheVisible=Vue.ref(false); | ||
88 | - let viewData=Vue.ref(); | ||
89 | - let addOrUpdate=Vue.ref(false) | ||
90 | - let radio=Vue.ref(0); | ||
91 | - //下拉框 | ||
92 | - let options=Vue.ref([]); | ||
93 | - //菜单下拉框 | ||
94 | - let menuOptions=Vue.ref([]); | ||
95 | - let ajConfigFrom = Vue.ref({ | ||
96 | - id:'', | ||
97 | - type: 0, | ||
98 | - designPage: '', | ||
99 | - param: '', | ||
100 | - resType: '', | ||
101 | - firm:'', | ||
102 | - resource:'', | ||
103 | - remark:'', | ||
104 | - creatTime:'', | ||
105 | - createName:'', | ||
106 | - state:'', | ||
107 | - title:'', | ||
108 | - menuPid:'', | ||
109 | - menuName:'' | ||
110 | - }); | ||
111 | - //新增弹框 | ||
112 | - const addAj=()=>{ | ||
113 | - clearForm(); | ||
114 | - cacheVisible.value=true; | ||
115 | - pageList(); | ||
116 | - menuList(); | ||
117 | - | ||
118 | - } | ||
119 | - //新增或修改aj配置信息 | ||
120 | - let addAjConfig=(ruleForm)=>{ | ||
121 | - let params={}; | ||
122 | - params= ajConfigFrom.value; | ||
123 | - let msg = ''; | ||
124 | - if (addOrUpdate.value){ | ||
125 | - proxy.$http.post(`/api-web/ajConfig/updateAj`, params, function (res) { | ||
126 | - if (res && res.success == true) { | ||
127 | - msg = res.msg; | ||
128 | - cacheVisible.value=false; | ||
129 | - proxy.$global.showMsg(msg); | ||
130 | - clearForm(); | ||
131 | - getDataList(); | ||
132 | - } | ||
133 | - }) | ||
134 | - }else{ | ||
135 | - proxy.$http.post(`/api-web/ajConfig/addAj`, params, function (res) { | ||
136 | - if (res && res.success == true) { | ||
137 | - msg = res.msg; | ||
138 | - cacheVisible.value=false; | ||
139 | - proxy.$global.showMsg(msg); | ||
140 | - if (params.type==0){ | ||
141 | - window.history.go(0); | ||
142 | - } | ||
143 | - clearForm(); | ||
144 | - getDataList(); | ||
145 | - | ||
146 | - } | ||
147 | - }) | ||
148 | - } | ||
149 | - } | ||
150 | - //清理表单 | ||
151 | - let clearForm=()=>{ | ||
152 | - ajConfigFrom.value={ | ||
153 | - id:'', | ||
154 | - type: '0', | ||
155 | - designPage: '', | ||
156 | - param: '', | ||
157 | - resType: '', | ||
158 | - firm:'', | ||
159 | - resource:'', | ||
160 | - remark:'', | ||
161 | - creatTime:'', | ||
162 | - createName:'', | ||
163 | - state:'', | ||
164 | - title:'', | ||
165 | - menuPid:'', | ||
166 | - menuName:'' | ||
167 | - } | ||
168 | - addOrUpdate.value=false; | ||
169 | - } | ||
170 | - | ||
171 | - //删除 | ||
172 | - let handleDelete=(row)=>{ | ||
173 | - let param={ | ||
174 | - id:row.id | ||
175 | - } | ||
176 | - proxy.$http.get(`/api-web/ajConfig/deleteById`, param, function (res) { | ||
177 | - | ||
178 | - if (res && res.success == true) { | ||
179 | - let msg = res.msg; | ||
180 | - if (!msg) { | ||
181 | - msg = "删除失败"; | ||
182 | - } | ||
183 | - if (row.type==0){ | ||
184 | - history.go(0); | ||
185 | - } | ||
186 | - proxy.$global.showMsg(msg); | ||
187 | - getDataList(); | ||
188 | - } | ||
189 | - }) | ||
190 | - } | ||
191 | - let handleUpdate=(row)=>{ | ||
192 | - addOrUpdate.value =true; | ||
193 | - ajConfigFrom.value=row; | ||
194 | - cacheVisible.value=true; | ||
195 | - pageList(); | ||
196 | - menuList(); | ||
197 | - } | ||
198 | - | ||
199 | - //预览 | ||
200 | - let preview=(row)=>{ | ||
201 | - proxy.$global.viewAjView(row,'80%','80%',''); | ||
202 | - } | ||
203 | - | ||
204 | - //aj报表管理信息 | ||
205 | - let pageList=()=>{ | ||
206 | - proxy.$http.get(`/api-web/ajConfig/pageList`, null, function (res) { | ||
207 | - if (res && res.success == true) { | ||
208 | - let params=res.object.data.records; | ||
209 | - params.forEach(function(e){ | ||
210 | - let report={} | ||
211 | - report.label=e.reportName; | ||
212 | - report.value=e.reportCode; | ||
213 | - options.value.push(report) | ||
214 | - }); | ||
215 | - } | ||
216 | - }) | ||
217 | - } | ||
218 | - | ||
219 | - //菜单 | ||
220 | - let menuList=()=>{ | ||
221 | - proxy.$http.get(`/api-user/menus/findAlls`, null, function (res) { | ||
222 | - if (res && res.count>0) { | ||
223 | - let params=res.data; | ||
224 | - params.forEach(function(e){ | ||
225 | - let menu={} | ||
226 | - menu.label=e.name; | ||
227 | - menu.value=e.id; | ||
228 | - menuOptions.value.push(menu) | ||
229 | - }); | ||
230 | - } | ||
231 | - }) | ||
232 | - | ||
233 | - } | ||
234 | - //AJ设计登录 | ||
235 | - let handleView=()=>{ | ||
236 | - window.open(sessionStorage.getItem("ajWeb") + '/#/login?access_token=' + localStorage.getItem("access_token")); | ||
237 | - } | ||
238 | - | ||
239 | - | ||
240 | - //重新加载表格数据 | ||
241 | - let loadTableDataList = ({page, limit}) => { | ||
242 | - currentPage.value=page; | ||
243 | - pageSize.value=limit; | ||
244 | - getDataList() | ||
245 | - } | ||
246 | - | ||
247 | - //获取aj配置信息 | ||
248 | - let getDataList=()=>{ | ||
249 | - proxy.$http.get(`/api-web/ajConfig/ajConfigList`,null, function (res) { | ||
250 | - if (res && res.data) { | ||
251 | - count.value = res.data.length; | ||
252 | - tableDataList.value = res.data; | ||
253 | - }else{ | ||
254 | - tableDataList.value='暂无数据'; | ||
255 | - } | ||
256 | - }); | ||
257 | - | ||
258 | - } | ||
259 | - | ||
260 | - //关闭弹框 | ||
261 | - let cancelBtn=()=>{ | ||
262 | - cacheVisible.value=false; | ||
263 | - } | ||
264 | - // 挂载完 | ||
265 | - Vue.onMounted(() => { | ||
266 | - getDataList(); | ||
267 | - | ||
268 | - }) | ||
269 | - | ||
270 | - return { | ||
271 | - height, | ||
272 | - columns, | ||
273 | - currentPage, | ||
274 | - count, | ||
275 | - pageSize, | ||
276 | - keyword, | ||
277 | - tableDataList, | ||
278 | - checkedId, | ||
279 | - addAj, | ||
280 | - addAjConfig, | ||
281 | - loadTableDataList, | ||
282 | - getDataList, | ||
283 | - cacheVisible, | ||
284 | - titleName, | ||
285 | - viewData, | ||
286 | - cancelBtn, | ||
287 | - ajConfigFrom, | ||
288 | - handleDelete, | ||
289 | - handleUpdate, | ||
290 | - preview, | ||
291 | - handleView, | ||
292 | - pageList, | ||
293 | - radio, | ||
294 | - options, | ||
295 | - menuList, | ||
296 | - menuOptions | ||
297 | - } | ||
298 | - } | ||
299 | - | ||
300 | -} |
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/ajConfig/view/index.js
deleted
100644 → 0
1 | -export default { | ||
2 | - name: 'ajConfigViewIndex', | ||
3 | - template: '', | ||
4 | - components: {}, | ||
5 | - | ||
6 | - data() { | ||
7 | - return { | ||
8 | - } | ||
9 | - }, | ||
10 | - setup() { | ||
11 | - const {proxy} = Vue.getCurrentInstance(); | ||
12 | - let src = Vue.ref(''); | ||
13 | - let height = Vue.ref(window.innerHeight - 10); | ||
14 | - var reportCode = proxy.$global.getQueryVariable('reportCode'); | ||
15 | - | ||
16 | - let url=()=>{ | ||
17 | - src.value=sessionStorage.getItem("ajWeb")+'/#/bigscreen/viewer?reportCode='+reportCode+'&access_token=' + localStorage.getItem("access_token"); | ||
18 | - } | ||
19 | - // 挂载完 | ||
20 | - Vue.onMounted(() => { | ||
21 | - url(); | ||
22 | - }) | ||
23 | - | ||
24 | - return { | ||
25 | - url, | ||
26 | - src, | ||
27 | - height | ||
28 | - } | ||
29 | - } | ||
30 | -} |
-
Please register or login to post a comment