update code

dev_xds
haha 2023-09-23 20:15:30 +08:00
parent 89fc3a7891
commit 7a1613d92b
9 changed files with 215 additions and 147 deletions

View File

@ -50,6 +50,7 @@ BorderBox(Vue)
Vue.prototype.$api=Api;
Vue.prototype.$bus=new Vue();
Vue.prototype.$basepath=process.env.VUE_APP_BASE_API;
// 全局方法挂
Vue.prototype.getDicts = getDicts
Vue.prototype.getConfigKey = getConfigKey

View File

@ -1,53 +1,11 @@
<template>
<div class="app-container">
<div class="app-container base-periodical-index">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="期刊名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入期刊名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="期刊主图" prop="imageUrl">
<el-input
v-model="queryParams.imageUrl"
placeholder="请输入期刊主图"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.name" placeholder="请输入期刊名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="期刊文件" prop="fileUrl">
<el-input
v-model="queryParams.fileUrl"
placeholder="请输入期刊文件"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="顺序" prop="ord">
<el-input
v-model="queryParams.ord"
placeholder="请输入顺序"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="state">
<el-input
v-model="queryParams.state"
placeholder="请输入状态"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="isDel">
<el-input
v-model="queryParams.isDel"
placeholder="请输入"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.fileUrl" placeholder="请输入期刊文件" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
@ -57,111 +15,72 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['base:periodical:add']"
>新增</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['base:periodical:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['base:periodical:edit']"
>修改</el-button>
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['base:periodical:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['base:periodical:remove']"
>删除</el-button>
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['base:periodical:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['base:periodical:export']"
>导出</el-button>
<el-col :span="1.5" v-if="1==2">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['base:periodical:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="periodicalList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="" align="center" prop="id" />
<el-table-column label="" align="center" prop="id" width="55" />
<el-table-column label="期刊名称" align="center" prop="name" />
<el-table-column label="期刊主图" align="center" prop="imageUrl" />
<el-table-column label="期刊文件" align="center" prop="fileUrl" />
<el-table-column label="顺序" align="center" prop="ord" />
<el-table-column label="状态" align="center" prop="state" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="" align="center" prop="isDel" />
<el-table-column label="期刊主图" align="center" prop="imageUrl">
<template slot-scope="{row}">
<el-image :src="$basepath + row.imageUrl + '.min.jpg'" :preview-src-list="[row.imageUrl]"></el-image>
</template>
</el-table-column>
<el-table-column label="期刊文件" align="center" prop="fileUrl">
<template slot-scope="{row}">{{ row.fileName }}</template>
</el-table-column>
<el-table-column label="顺序" align="center" prop="ord" width="200">
<template slot-scope="{row}">
<el-input-number v-model="row.ord" controls-position="right" @change="doSave(row, false)" :min="1"
:max="10000"></el-input-number>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['base:periodical:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['base:periodical:remove']"
>删除</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['base:periodical:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['base:periodical:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<!-- 添加或修改期刊对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body custom-class="base-periodical-dlg"
:close-on-click-modal="false" :close-on-press-escape="false">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="期刊名称" prop="name">
<el-input v-model="form.name" placeholder="请输入期刊名称" />
</el-form-item>
<el-form-item label="期刊主图" prop="imageUrl">
<el-input v-model="form.imageUrl" placeholder="请输入期刊主图" />
<el-form-item label="期刊主图" ref="fiImage" prop="imageUrl"
:class="'form-img-' + (form.imageUrl ? form.imageUrl.length : 0)">
<el-image :src="$basepath + form.imageUrl[0].url" v-if="form.imageUrl && form.imageUrl.length > 0"></el-image>
<FileUpload @input="doImageInput" v-model="form.imageUrl" :fileSize="5" :limit="1"
:fileType="['png', 'jpg', 'jpeg']" />
</el-form-item>
<el-form-item label="期刊文件" prop="fileUrl">
<el-input v-model="form.fileUrl" placeholder="请输入期刊文件" />
</el-form-item>
<el-form-item label="顺序" prop="ord">
<el-input v-model="form.ord" placeholder="请输入顺序" />
</el-form-item>
<el-form-item label="状态" prop="state">
<el-input v-model="form.state" placeholder="请输入状态" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="" prop="isDel">
<el-input v-model="form.isDel" placeholder="请输入" />
<el-form-item label="期刊文件" ref="fiFile" prop="fileUrl"
:class="'form-pdf-' + (form.fileUrl ? form.fileUrl.length : 0)">
<FileUpload @input="doFileInput" v-model="form.fileUrl" :fileSize="100" :limit="1"
:fileType="['pdf', 'docx', 'doc']" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -206,12 +125,15 @@ export default {
fileUrl: null,
ord: null,
state: null,
isDel: null,
isDel: 0,
},
//
form: {},
//
rules: {
name: [{ required: true, trigger: "blur", message: "请输入期刊名称" }],
imageUrl: [{ required: true, trigger: "change", message: "请上传图片" }],
fileUrl: [{ required: true, trigger: "change", message: "请上传期刊文件" }],
}
};
},
@ -219,11 +141,21 @@ export default {
this.getList();
},
methods: {
doImageInput() {
this.$refs.fiImage.clearValidate()
},
doFileInput() {
this.$refs.fiFile.clearValidate()
},
/** 查询期刊列表 */
getList() {
this.loading = true;
listPeriodical(this.queryParams).then(response => {
this.periodicalList = response.rows;
this.periodicalList = (response.rows).map(it=>{
it.fileUrl=JSON.parse(it.fileUrl);
it.fileName=it.fileUrl[0].url.split("/").pop();
return it;
});
this.total = response.total;
this.loading = false;
});
@ -243,7 +175,7 @@ export default {
ord: null,
state: null,
remark: null,
isDel: null,
isDel: 0,
createBy: null,
createTime: null,
updateBy: null,
@ -264,7 +196,7 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
@ -275,26 +207,47 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getPeriodical(id).then(response => {
this.form = response.data;
let obj = response.data;
obj.imageUrl = [{ name: obj.imageUrl, url: obj.imageUrl }];
obj.fileUrl=JSON.parse(obj.fileUrl);
this.form = obj;
this.open = true;
this.title = "修改期刊";
});
},
doSave(row) {
let obj={...row};
obj.fileUrl=JSON.stringify(obj.fileUrl);
updatePeriodical(obj).then(response => {
this.getList();
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
let data = {
name: this.form.name,
isDel: 0,
ord: 1,
remark: '',
state: 0,
fileUrl: JSON.stringify(this.form.fileUrl),
imageUrl: this.form.imageUrl[0].url
};
if (this.form.id != null) {
updatePeriodical(this.form).then(response => {
data.id = this.form.id;
updatePeriodical(data).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addPeriodical(this.form).then(response => {
addPeriodical(data).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
@ -306,12 +259,12 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除期刊编号为"' + ids + '"的数据项?').then(function() {
this.$modal.confirm('是否确认删除期刊编号为"' + ids + '"的数据项?').then(function () {
return delPeriodical(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
@ -322,3 +275,62 @@ export default {
}
};
</script>
<style lang="scss">
.base-periodical-index {
.el-input-number--medium {
width: 160px;
}
}
.base-periodical-dlg {
.el-form {
.el-form-item--medium {
margin-bottom: 16px;
}
.upload-file {
.el-upload__tip {
margin-top: 0px;
}
.upload-file-uploader {
margin-bottom: 0px;
}
}
.form-img-1 {
.upload-file {
.el-upload--text {
display: none;
}
.el-upload__tip {
display: none;
}
}
}
.form-pdf-1 {
.upload-file {
.el-upload--text {
display: none;
}
.el-upload__tip {
display: none;
}
}
}
.el-upload-list__item {
.el-link--default {
width: calc(100% - 40px);
justify-content: left;
.el-icon-document {
line-height: 20px;
}
}
}
}
}</style>

View File

@ -18,7 +18,7 @@
<el-form-item label="验收图片">
<el-image
ref="preview"
v-for="img in dataInfo.imageUrls.split(',')"
v-for="(img,idx) in dataInfo.imageUrls.split(',')" :key="idx"
:src="getImageUrl(img)"
style="width: 120px; height: 120px; margin-right: 15px"
@click="onPreview(img)"

View File

@ -18,7 +18,7 @@
<el-form-item label="封样图片">
<el-image
ref="preview"
v-for="img in dataInfo.imageUrls.split(',')"
v-for="(img,idx) in dataInfo.imageUrls.split(',')" :key="idx"
:src="getImageUrl(img)"
style="width: 120px; height: 120px; margin-right: 15px"
@click="onPreview(img)"

View File

@ -18,7 +18,7 @@
<el-form-item label="测量图片">
<el-image
ref="preview"
v-for="img in dataInfo.imageUrls.split(',')"
v-for="(img,idx) in dataInfo.imageUrls.split(',')" :key="idx"
:src="getImageUrl(img)"
style="width: 120px; height: 120px; margin-right: 15px"
@click="onPreview(img)"

View File

@ -33,13 +33,13 @@ module.exports = {
port: port,
open: true,
proxy: {
'/jhapi/profile':{
target: `http://62.234.3.186/jhapi/profile/`,
changeOrigin: true,
pathRewrite: {
'^/jhapi/profile':'/'
}
},
// '/jhapi/profile':{
// target: `http://62.234.3.186/jhapi/profile/`,
// changeOrigin: true,
// pathRewrite: {
// '^/jhapi/profile':'/'
// }
// },
'/jhapi':{
//target: `http://62.234.3.186/jhapi/`,
target: `http://127.0.0.1:8090/jhapi/`,

View File

@ -1,5 +1,6 @@
package com.yanzhu.jh.bigscreen.web.controller;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.flowable.service.IFlowBusinessKeyService;
@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.concurrent.TimeUnit;
@RestController
@RequestMapping("/bgscreen/flow")
@ -22,19 +24,32 @@ public class FloweController {
@GetMapping("/groupByCategory")
public AjaxResult groupByCategory(long deptId,long projectId){
String key="bgscreen_flow_groupByCategory_"+deptId+"_"+projectId;
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return AjaxResult.success(obj);
}
FlowTaskEntity where=new FlowTaskEntity();
where.setDeployId(deptId<1?null:""+deptId);
where.setBusinessKey(projectId<1?null:""+projectId);
List<FlowTaskEntity> list=flowBusinessKeyService.groupByCategory(where);
return AjaxResult.success(list);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
return AjaxResult.success(list);
}
@GetMapping("/groupByUnit")
public AjaxResult groupByUnit(long deptId,long projectId){
String key="bgscreen_flow_groupByUnit_"+deptId+"_"+projectId;
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return AjaxResult.success(obj);
}
FlowTaskEntity where=new FlowTaskEntity();
where.setDeployId(deptId<1?"":""+deptId);
where.setBusinessKey(projectId<1?"":""+projectId);
List<FlowTaskEntity> list=flowBusinessKeyService.groupByUnit(where);
return AjaxResult.success(list);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
return AjaxResult.success(list);
}
}

View File

@ -0,0 +1,39 @@
package com.yanzhu.jh.bigscreen.web.controller;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.redis.RedisCache;
import com.yanzhu.jh.base.domain.BasePeriodical;
import com.yanzhu.jh.base.service.IBasePeriodicalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.concurrent.TimeUnit;
@RestController
@RequestMapping("/bgscreen/periodical")
public class PeriodicalController {
@Autowired
IBasePeriodicalService periodicalService;
@Autowired
private RedisCache redisCache;
@GetMapping("/getList")
public AjaxResult getList() {
String key="bgscreen_periodical_getList";
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
// return AjaxResult.success(obj);
}
BasePeriodical where = new BasePeriodical();
where.setIsDel(0l);
List<BasePeriodical> list = periodicalService.selectBasePeriodicalList(where);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
return AjaxResult.success(list);
}
}

View File

@ -33,6 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="state != null "> and state = #{state}</if>
<if test="isDel != null "> and is_del = #{isDel}</if>
</where>
order by ord
</select>
<select id="selectBasePeriodicalById" parameterType="Long" resultMap="BasePeriodicalResult">