Commit 4c6551d1 authored by lenovo's avatar lenovo

物资模板添加发布功能

parent 419e0924
......@@ -97,6 +97,37 @@ public class ActSuppliesTemplateController extends BaseController {
return toAjax(actSuppliesTemplateService.updateSuppliesTemplate(sysSupplies));
}
/**
* 发布Excel模板
*/
@PreAuthorize("@ss.hasPermi('SuppliesTemplate:SuppliesTemplate:releaseStatus')")
@Log(title = "Excel模板", businessType = BusinessType.UPDATE)
@GetMapping("/releaseStatus/{ids}")
public AjaxResult releaseStatus(@PathVariable Long[] ids) {
return toAjax(actSuppliesTemplateService.releaseStatus(ids));
}
/**
* 下架Excel模板
*/
@PreAuthorize("@ss.hasPermi('SuppliesTemplate:SuppliesTemplate:offShelfStatus')")
@Log(title = "Excel模板", businessType = BusinessType.UPDATE)
@GetMapping("/offShelfStatus/{ids}")
public AjaxResult offShelfStatus(@PathVariable Long[] ids) {
return toAjax(actSuppliesTemplateService.offShelfStatus(ids));
}
/**
* 下架Excel模板
*/
@PreAuthorize("@ss.hasPermi('SuppliesTemplate:SuppliesTemplate:copyTemplate')")
@Log(title = "Excel模板", businessType = BusinessType.UPDATE)
@GetMapping("/copyTemplate/{id}")
public AjaxResult copyTemplate(@PathVariable Long id) {
String name = actSuppliesTemplateService.copyTemplate(id);
return AjaxResult.success("200",name);
}
/**
* 删除Excel模板
*/
......@@ -107,9 +138,9 @@ public class ActSuppliesTemplateController extends BaseController {
if (actSuppliesTemplateService.findall(ids).size()>0){
return AjaxResult.error("该模板下存在关联规则,请先删除关联规则!!!","操作失败");
}
// if (actSuppliesTemplateService.findall(ids).size()>0){
// return AjaxResult.error("该模板下存在关联规则,请先删除关联规则!!!","操作失败");
// }
return toAjax(actSuppliesTemplateService.deleteSuppliesTemplateByIds(ids));
}
......@@ -149,9 +180,9 @@ public class ActSuppliesTemplateController extends BaseController {
@GetMapping("/disable/{id}")
public AjaxResult setDisable(@PathVariable("id") Long id)
{
if(actSuppliesTemplateService.find(id).size()>0){
return AjaxResult.success("该物料下存在关联物料,请先删除关联物料!!!","操作失败");
}
// if(actSuppliesTemplateService.find(id).size()>0){
// return AjaxResult.success("该物料下存在关联物料,请先删除关联物料!!!","操作失败");
// }
System.out.println("开始处理【禁用物料总分类管理】的请求,参数:{}"+ id);
actSuppliesTemplateService.setDisable(id);
return AjaxResult.success();
......
......@@ -17,6 +17,8 @@ public interface ActSuppliesTemplateMapper
List<ActSuppliesTemplate> selectSuppliesTemplateById(Long id);
List<ActSuppliesTemplate> selectSuppliesTemplateByIdNoId(Long id);
int insertSuppliesTemplate(ActSuppliesTemplate sysSupplies);
// List<ActSuppliesTemplate> selectlistnameid();
......@@ -25,6 +27,8 @@ public interface ActSuppliesTemplateMapper
int deleteSuppliesTemplateByIds(Long[] ids);
int updateSuppliesTemplateByIds(Long[] ids);
List<ActSuppliesTemplate> saveTemplate(Long id);
List<Integer> findall(Long[] ids);
......@@ -33,4 +37,7 @@ public interface ActSuppliesTemplateMapper
List<String> findName();
List<ActSuppliesTemplate> saveTemplateStatus(Long[] ids);
int selectHistory(Long id);
}
......@@ -46,5 +46,9 @@ public interface ActSuppliesTemplateService
List<String> findName();
int releaseStatus(Long[] ids);
int offShelfStatus(Long[] ids);
String copyTemplate(Long id);
}
......@@ -3,13 +3,13 @@ package com.ruoyi.system.service.impl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.ActSupplies;
import com.ruoyi.system.domain.ActSuppliesTemplate;
import com.ruoyi.system.mapper.ActSuppliesTemplateMapper;
import com.ruoyi.system.service.ActSuppliesTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.LinkedList;
import java.util.List;
/**
......@@ -58,7 +58,37 @@ public class ActSuppliesTemplateServiceImpl implements ActSuppliesTemplateServic
@Override
public int deleteSuppliesTemplateByIds(Long[] ids) {
return actSuppliesTemplateMapper.deleteSuppliesTemplateByIds(ids);
List<ActSuppliesTemplate> actSuppliesTemplate = actSuppliesTemplateMapper.saveTemplateStatus(ids);
List<Long> idsd = new LinkedList<>();
List<Long> idsu = new LinkedList<>();
for (int i=0;i<actSuppliesTemplate.size();i++) {
if (actSuppliesTemplate.get(i).getStatus()==1) {
idsd.add(actSuppliesTemplate.get(i).getId());
} else {
int count = actSuppliesTemplateMapper.selectHistory(actSuppliesTemplate.get(i).getId());
if(count>0){
idsu.add(actSuppliesTemplate.get(i).getId());
}else {
idsd.add(actSuppliesTemplate.get(i).getId());
}
}
}
if (idsd.size()>0){
actSuppliesTemplateMapper.deleteSuppliesTemplateByIds(idsd.toArray(idsd.toArray(new Long[0])));
}else if (idsu.size()>0){
actSuppliesTemplateMapper.updateSuppliesTemplateByIds(idsu.toArray(idsu.toArray(new Long[0])));
}
return 1;
}
@Override
......@@ -91,6 +121,69 @@ public class ActSuppliesTemplateServiceImpl implements ActSuppliesTemplateServic
return actSuppliesTemplateMapper.findName();
}
@Override
public int releaseStatus(Long[] ids) {
List<ActSuppliesTemplate> actSuppliesTemplate = actSuppliesTemplateMapper.saveTemplateStatus(ids);
for (int i =0;i<actSuppliesTemplate.size();i++) {
SysUser user = SecurityUtils.getLoginUser().getUser();
actSuppliesTemplate.get(i).setUpdateBy(user.getUserName());
actSuppliesTemplate.get(i).setUpdateTime(DateUtils.getNowDate());
if (actSuppliesTemplate.get(i).getStatus() > 0){
actSuppliesTemplate.get(i).setStatus(0);
actSuppliesTemplateMapper.updateSuppliesTemplate(actSuppliesTemplate.get(i));
}
}
return 1;
}
@Override
public int offShelfStatus(Long[] ids) {
List<ActSuppliesTemplate> actSuppliesTemplate = actSuppliesTemplateMapper.saveTemplateStatus(ids);
for (int i =0;i<actSuppliesTemplate.size();i++){
SysUser user = SecurityUtils.getLoginUser().getUser();
actSuppliesTemplate.get(i).setUpdateBy(user.getUserName());
actSuppliesTemplate.get(i).setUpdateTime(DateUtils.getNowDate());
if (actSuppliesTemplate.get(i).getStatus() ==0){
int count = actSuppliesTemplateMapper.selectHistory(actSuppliesTemplate.get(i).getId());
if (count == 0){
actSuppliesTemplate.get(i).setStatus(1);
actSuppliesTemplateMapper.updateSuppliesTemplate(actSuppliesTemplate.get(i));
}else {
actSuppliesTemplate.get(i).setStatus(2);
actSuppliesTemplateMapper.updateSuppliesTemplate(actSuppliesTemplate.get(i));
}
}
}
return 1;
}
@Override
public String copyTemplate(Long id) {
List<ActSuppliesTemplate> actSuppliesTemplates = actSuppliesTemplateMapper.selectSuppliesTemplateByIdNoId(id);
actSuppliesTemplates.get(0).setStatus(1);
SysUser user = SecurityUtils.getLoginUser().getUser();
actSuppliesTemplates.get(0).setCreateBy(user.getCreateBy());
actSuppliesTemplates.get(0).setCreateTime(DateUtils.getNowDate());
actSuppliesTemplateMapper.insertSuppliesTemplate(actSuppliesTemplates.get(0));
return actSuppliesTemplates.get(0).getTemplateName();
}
private void updateStatusById(Long id, Integer status){
String[] statusText={"禁用","启用"};
......
......@@ -51,11 +51,19 @@
where id = #{id}
</select>
<select id="saveTemplate" parameterType="Long" resultMap="SuppliesTemplateResult">
<select id="selectSuppliesTemplateByIdNoId" parameterType="Long" resultMap="SuppliesTemplateResult">
<include refid="selectSuppliesTemplateVo"/>
where id = #{id}
</select>
<select id="saveTemplate" parameterType="Long" resultMap="SuppliesTemplateResult">
select det_id, template_name, template_content, status, create_by, create_time, update_by, update_time from act_supplies_template where id = #{id}
</select>
<select id="selectHistory" parameterType="Long" resultType="Integer">
SELECT COUNT(template_id) FROM act_supplies_historydata where template_id = #{id}
</select>
<insert id="insertSuppliesTemplate" parameterType="ActSuppliesTemplate" useGeneratedKeys="true" keyProperty="id">
insert into act_supplies_template
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -105,5 +113,19 @@
#{id}
</foreach>
</delete>
<update id="updateSuppliesTemplateByIds" parameterType="String">
update act_supplies_template set status = 2 where id in
<foreach collection="array" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<select id="saveTemplateStatus" parameterType="String" resultMap="SuppliesTemplateResult">
select id,status from act_supplies_template where id in
<foreach collection="array" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper>
import request from '@/utils/request'
import LuckyExcel from "luckyexcel";
//小物料转大物料
......@@ -55,6 +56,27 @@ export function updateSuppliesTemplate(data) {
})
}
export function releaseTemplateStatus(id){
return request({
url: '/SuppliesTemplate/SuppliesTemplate/releaseStatus/' + id,
method: 'get'
})
}
export function offShelfTemplateStatus(id){
return request({
url: '/SuppliesTemplate/SuppliesTemplate/offShelfStatus/' + id,
method: 'get'
})
}
export function CopyTemplate(id){
return request({
url: '/SuppliesTemplate/SuppliesTemplate/copyTemplate/' + id,
method: 'get'
})
}
// 删除Excel模板
export function delSuppliesTemplate(id) {
return request({
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="模板名称" prop="templateName" label-width="100px">
<el-input
v-model="queryParams.templateName"
placeholder="请输入模板名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="15"
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="模板名称" prop="templateName" label-width="100px">
<el-input
v-model="queryParams.templateName"
placeholder="请输入模板名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="15"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable @keyup.enter.native="handleQuery">
<el-option label="未发布" :value="0"></el-option>
<el-option label="已发布" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<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="['SuppliesTemplate:SuppliesTemplate: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="['SuppliesTemplate:SuppliesTemplate: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="['SuppliesTemplate:SuppliesTemplate:remove']"
>删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="multiple"
@click="releaseStatus"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate:releaseStatus']"
>发布
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="SuppliesTemplateList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" width="80" align="center" label="序号" :index="indexMethod"/>
<el-table-column label="模板名称" align="center" prop="templateName"/>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<div>
<el-switch
@change="toggleEnable(scope.row)"
v-model="scope.row.status"
:active-value="0"
:inactive-value="1"
active-color="#13ce66"
inactive-color="#cccccc"
active-text="已发布"
inactive-text="未发布">
</el-switch>
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" prop="status">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="releaseStatus(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate:status']"
:style="{display : scope.row.status>0?'':'none'}"
>发布
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="offShelfStatus(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate:status']"
:style="{display : scope.row.status===0?'':'none'}"
>下架
</el-button>
</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="handleSave(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate']"
>详情
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleCopy(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate:edit']"
>复制
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate:edit']"
:style="{display : scope.row.status===1?'':'none'}"
>修改
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate: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"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable @keyup.enter.native="handleQuery">
<el-option label="启用" :value="0"></el-option>
<el-option label="禁用" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<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="['SuppliesTemplate:SuppliesTemplate: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="['SuppliesTemplate:SuppliesTemplate: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="['SuppliesTemplate:SuppliesTemplate:remove']"
>删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="SuppliesTemplateList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" width="80" align="center" label="序号" :index="indexMethod" />
<el-table-column label="模板名称" align="center" prop="templateName" />
<el-table-column label="状态" align="center" prop="status" >
<template slot-scope="scope">
<div>
<el-switch
@change="toggleEnable(scope.row)"
v-model="scope.row.status"
:active-value="0"
:inactive-value="1"
active-color="#13ce66"
inactive-color="#cccccc">
</el-switch>
</div>
</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="handleSave(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate']"
>详情</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['SuppliesTemplate:SuppliesTemplate: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"
/>
<!-- 添加或修改Excel模板对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="状态" prop="status">
<el-select v-model="form.status" placeholder="请选择状态">
<el-option label="启用" :value="0"></el-option>
<el-option label="禁用" :value="1"></el-option>
</el-select>
</el-form-item>
<!-- <el-upload-->
<!-- ref="uploadRef"-->
<!-- class="upload-demo"-->
<!-- drag-->
<!-- show-file-list="true"-->
<!-- action="https://jsonplaceholder.typicode.com/posts/"-->
<!-- multiple-->
<!-- :before-upload="beforeUpload"-->
<!-- >-->
<!-- <i class="el-icon-upload"></i>-->
<!-- <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>-->
<!-- <div class="el-upload__tip" slot="tip">只能上传xlsx文件</div>-->
<!-- </el-upload>-->
<el-upload
ref="uploadRef"
class="upload-demo"
drag
action=""
multiple
:before-upload="beforeUpload"
:on-change="handleChange"
:show-file-list="fileListName.length > 0"
:file-list="fileListName"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传xlsx文件</div>
</el-upload>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<div id="luckysheet" :style="{ position: positionValue, top: '0', left: '0', right: '0', bottom: '0' }"></div>
</div>
<!-- 添加或修改Excel模板对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="状态" prop="status">-->
<!-- <el-select v-model="form.status" placeholder="请选择状态">-->
<!-- <el-option label="启用" :value="0"></el-option>-->
<!-- <el-option label="禁用" :value="1"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-upload
ref="uploadRef"
class="upload-demo"
drag
action=""
:before-upload="beforeUpload"
:on-change="handleChange"
:file-list="fileListName"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传xlsx文件</div>
</el-upload>
<el-progress v-if="showProgress" :percentage="uploadProgress"></el-progress>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<div id="luckysheet" :style="{ position: positionValue, top: '0', left: '0', right: '0', bottom: '0' }"></div>
</div>
</template>
<style>
#luckysheet_info_detail_title {
display: none;
display: none;
}
#luckysheet_info_detail_update{
display: none;
#luckysheet_info_detail_update {
display: none;
}
#luckysheet_info_detail_save{
display: none;
#luckysheet_info_detail_save {
display: none;
}
.luckysheet-share-logo {
display: none;
display: none;
}
</style>
<script>
import {
listSuppliesTemplate,
getSuppliesTemplate,
delSuppliesTemplate,
addSuppliesTemplate,
updateSuppliesTemplate,
toggleEnable,toggleDisable,
listSuppliesTemplateId,findName
listSuppliesTemplate,
getSuppliesTemplate,
delSuppliesTemplate,
addSuppliesTemplate,
updateSuppliesTemplate,
toggleEnable, toggleDisable,
listSuppliesTemplateId, findName, releaseTemplateStatus, offShelfTemplateStatus, CopyTemplate
} from "@/api/ruoyi-myLuckyexcel/myluckyexcel";
import $ from 'jquery';
import XLSX from 'xlsx';
import LuckyExcel from 'luckyexcel';
export default {
name: "SuppliesTemplate",
data() {
return {
positionValue: 'static',
fileList: [{
name: 'food.jpeg',
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'
}, {
name: 'food2.jpeg',
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'
}],
// 遮罩层
loading: true,
// 选中数组
ids: [],
name:[],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 状态数据字典
statusOptions: [],
// Excel模板表格数据
SuppliesTemplateList: [],
//模板详情
TemplateId: [],
fileListName: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
open1: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
detId: null,
templateName: null,
templateContent: null,
status: 0,
},
form: {},
rules: {},
}
},
created() {
this.getList();
this.positionValue = "static";
},
mounted() {
window.handleReturnButtonClick = this.handleReturnButtonClick;
},
methods: {
/**启用 */
toggleEnable(SuppliesTemplate) {
console.log('你点击了【' + SuppliesTemplate.s + '】的开关控件,当前开关值:' + SuppliesTemplate.status);
let enableText = ['启用', '禁用'];
if (SuppliesTemplate.status === 0) {
toggleEnable(SuppliesTemplate.id).then((response) => {
if (response.code === 200) {
let message = '操作成功,已经将【' + SuppliesTemplate.templateName + '】的状态改为【' + enableText[SuppliesTemplate.status] + '】 !';
this.$message({
message: message,
type: 'success'
});
} else {
this.$message.error(response.message);
}
});
} else {
toggleDisable(SuppliesTemplate.id).then((response) => {
if (response.msg === "200") {
let message = '操作成功,已经将【' + SuppliesTemplate.templateName + '】的状态改为【' + enableText[SuppliesTemplate.status] + '】 !';
this.$message({
message: message,
type: 'error'
});
} else {
this.getList();
this.$message.error(response.msg);
}
});
}
name: "SuppliesTemplate",
data() {
return {
positionValue: 'static',
fileList: [{
name: 'food.jpeg',
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'
}, {
name: 'food2.jpeg',
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'
}],
// 遮罩层
loading: true,
// 选中数组
ids: [],
name: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 状态数据字典
statusOptions: [],
// Excel模板表格数据
SuppliesTemplateList: [],
//模板详情
TemplateId: [],
fileListName: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
open1: false,
showProgress: false,
uploadProgress: 0,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
detId: null,
templateName: null,
templateContent: null,
status: null,
},
form: {},
rules: {},
}
},
created() {
/**显示序号*/
indexMethod(index) {
return index + 1;
},
this.getList();
this.positionValue = "static";
/**清空上传文件列表*/
handleChange(file) {
// 清空 fileList 中的旧文件
this.fileListName = [];
// 添加文件到 fileList 中
this.fileListName.push(file);
},
mounted() {
/**上传事件 */
beforeUpload(file) {
//存在重复
findName(file.name).then(result => {
console.log(result.data)
if (result.data === "存在重复") {
this.fileListName = [];
this.$message.error('上传文件名重复,请修改后上传!')
window.handleReturnButtonClick = this.handleReturnButtonClick;
}
})
const isJpgOrPng = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
if (!isJpgOrPng) {
this.$message.error('只能上传xlsx文件');
}
LuckyExcel.transformExcelToLucky(file, (exportJson, lucksheetfile) => {
this.form.templateName = file.name;
this.form.templateContent = JSON.stringify(exportJson.sheets);
});
return isJpgOrPng;
},
// handleFileChange(event){
// var file = event.target.files[0];
// var fileName = file.name;
// fileName = fileName + "";
// LuckyExcel.transformExcelToLucky(file ,(exportJson,lucksheetfile)=>{
// this.form.templateName = fileName;
// this.form.templateContent = JSON.stringify(exportJson.sheets);
// });
// },
/** 查询Excel模板列表 */
getList() {
this.indexMethod(0);
this.loading = true;
listSuppliesTemplate(this.queryParams).then(response => {
this.SuppliesTemplateList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
detId: null,
name: null,
templateContent: null,
status: 0,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.name = selection.map(item => item.templateName)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.fileListName = [];
this.reset();
this.open = true;
this.title = "添加Excel模板";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.fileListName = [];
this.reset();
const id = row.id || this.ids
getSuppliesTemplate(id).then(response => {
console.log(response.rows[0])
this.form = response.rows[0];
this.open = true;
this.title = "修改Excel模板";
});
},
/** 提交按钮 */
submitForm() {
if (!this.form.templateName) {
this.msgError("上传的文件不能为空!")
} else {
this.fileListName = [];
if (!this.form.templateName) {
this.msgError("上传文件为空!!!")
} else {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateSuppliesTemplate(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
methods: {
/**启用 */
toggleEnable(SuppliesTemplate) {
console.log('你点击了【' + SuppliesTemplate.s + '】的开关控件,当前开关值:' + SuppliesTemplate.status);
let enableText = ['已发布', '未发布'];
if (SuppliesTemplate.status === 0) {
toggleEnable(SuppliesTemplate.id).then((response) => {
if (response.code === 200) {
let message = '操作成功,已经将【' + SuppliesTemplate.templateName + '】的状态改为【' + enableText[SuppliesTemplate.status] + '】 !';
this.$message({
message: message,
type: 'success'
});
} else {
this.$message.error(response.message);
}
});
} else {
addSuppliesTemplate(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
} else {
toggleDisable(SuppliesTemplate.id).then((response) => {
if (response.msg === "200") {
let message = '操作成功,已经将【' + SuppliesTemplate.templateName + '】的状态改为【' + enableText[SuppliesTemplate.status] + '】 !';
this.$message({
message: message,
type: 'error'
});
} else {
this.getList();
this.$message.error(response.msg);
}
});
}
}
});
}
}
},
/** 详情按钮操作 */
handleSave(row) {
},
/**显示序号*/
indexMethod(index) {
return index + 1;
},
/**清空上传文件列表*/
handleChange(file) {
// 清空 fileList 中的旧文件
this.fileListName = [];
// 添加文件到 fileList 中
this.fileListName.push(file);
},
/**上传事件 */
beforeUpload(file) {
//存在重复
findName(file.name).then(result => {
console.log(result.data)
if (result.data === "存在重复") {
this.fileListName = [];
this.$message.error('上传文件名重复,请修改后上传!')
}
})
const isJpgOrPng = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
if (!isJpgOrPng) {
this.$message.error('只能上传xlsx文件');
}
LuckyExcel.transformExcelToLucky(file, (exportJson, lucksheetfile) => {
this.form.templateName = file.name;
this.form.templateContent = JSON.stringify(exportJson.sheets);
});
listSuppliesTemplateId(row.id).then(response => {
return isJpgOrPng;
},
// handleFileChange(event){
// var file = event.target.files[0];
// var fileName = file.name;
// fileName = fileName + "";
// LuckyExcel.transformExcelToLucky(file ,(exportJson,lucksheetfile)=>{
// this.form.templateName = fileName;
// this.form.templateContent = JSON.stringify(exportJson.sheets);
// });
// },
/** 查询Excel模板列表 */
getList() {
this.indexMethod(0);
this.loading = true;
listSuppliesTemplate(this.queryParams).then(response => {
this.SuppliesTemplateList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
detId: null,
name: null,
templateContent: null,
status: 0,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.name = selection.map(item => item.templateName)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.fileListName = [];
this.reset();
this.open = true;
this.title = "添加Excel模板";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.fileListName = [];
this.reset();
const id = row.id || this.ids
getSuppliesTemplate(id).then(response => {
console.log(response.rows[0])
this.form = response.rows[0];
this.open = true;
this.title = "修改Excel模板";
});
},
/** 提交按钮 */
submitForm() {
if (!this.form.templateName) {
this.msgError("上传的文件不能为空!")
} else {
this.fileListName = [];
if (!this.form.templateName) {
this.msgError("上传文件为空!!!")
} else {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateSuppliesTemplate(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
this.form.status = 1;
addSuppliesTemplate(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
}
}
},
this.TemplateId = response.rows;
this.luckyLook();
/** 详情按钮操作 */
handleSave(row) {
})
listSuppliesTemplateId(row.id).then(response => {
},
/**展示详情luckysheet */
luckyLook() {
this.positionValue = 'absolute';
luckysheet.destroy();
luckysheet.create({
container: "luckysheet", // Luckysheet 的容器元素 ID
title: this.TemplateId[0].templateName, // Excel 文件名
data: JSON.parse(this.TemplateId[0].templateContent), // Excel 数据
showtoolbar: false, //是否第二列显示工具栏
showinfobar: true, //是否显示顶部名称栏
showsheetbar: false, //是否显示底部表格名称区域
pointEdit: false, //是否是编辑器插入表格模式
pointEditUpdate: null, //编辑器表格更新函数
allowEdit: false,//作用:是否允许前台编辑
functionButton: '<button id="exportButton" class="btn btn-primary" style=" padding:3px 6px; font-size: 16px;width: 100px;height: 27px; margin-right: 85px;" onclick="handleReturnButtonClick()">返回</button>',
});
this.TemplateId = response.rows;
},
/**详情返回按钮 */
handleReturnButtonClick() {
this.luckyLook();
this.positionValue = 'static';
luckysheet.destroy();
})
},
},
/**展示详情luckysheet */
luckyLook() {
/** 删除按钮操作*/
handleDelete(row) {
const ids = row.id || this.ids;
const name = row.templateName|| this.name;
this.$confirm('是否确认删除Excel模板编号为"' + name + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
return delSuppliesTemplate(ids);
}).then((result) => {
if (result.data === "操作失败") {
this.getList();
this.msgError("该模板下存在关联规则,请先删除关联规则!!!");
} else {
this.getList();
this.msgSuccess("删除成功");
}
}).catch(() => {
})
this.positionValue = 'absolute';
luckysheet.destroy();
luckysheet.create({
container: "luckysheet", // Luckysheet 的容器元素 ID
title: this.TemplateId[0].templateName, // Excel 文件名
data: JSON.parse(this.TemplateId[0].templateContent), // Excel 数据
showtoolbar: false, //是否第二列显示工具栏
showinfobar: true, //是否显示顶部名称栏
showsheetbar: false, //是否显示底部表格名称区域
pointEdit: false, //是否是编辑器插入表格模式
pointEditUpdate: null, //编辑器表格更新函数
allowEdit: false,//作用:是否允许前台编辑
functionButton: '<button id="exportButton" class="btn btn-primary" style=" padding:3px 6px; font-size: 16px;width: 100px;height: 27px; margin-right: 85px;" onclick="handleReturnButtonClick()">返回</button>',
},
});
// /** 导出按钮操作 */
// handleExport() {
// const queryParams = this.queryParams;
// this.$confirm('是否确认导出所有导入规则数据项?', "警告", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning"
// }).then(function() {
// return exportMyluckyexcel(queryParams);
// }).then(response => {
// this.download(response.msg);
// })
// }
}
},
/**详情返回按钮 */
handleReturnButtonClick() {
this.positionValue = 'static';
luckysheet.destroy();
},
/** 删除按钮操作*/
handleDelete(row) {
const ids = row.id || this.ids;
const name = row.templateName || this.name;
this.$confirm('是否确认删除Excel模板编号为"' + name + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
return delSuppliesTemplate(ids);
}).then((result) => {
if (result.data === "操作失败") {
this.getList();
this.msgError("该模板下存在关联规则,请先删除关联规则!!!");
} else {
this.getList();
this.msgSuccess("删除成功");
}
}).catch(() => {
})
},
releaseStatus(row) {
const ids = row.id || this.ids;
const name = row.templateName || this.name;
this.$confirm('是否确认发布模板名称为"' + name + '"的数据项?(发布之后无法修改!)', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
return releaseTemplateStatus(ids);
}).then((result) => {
if (result.data === "发布失败") {
this.getList();
this.msgError("模板已发布");
} else {
this.getList();
this.msgSuccess("发布成功");
}
}).catch(() => {
})
},
offShelfStatus(row) {
const ids = row.id || this.ids;
const name = row.templateName || this.name;
this.$confirm('是否确认下架模板名称为"' + name + '"的数据项?(下架之后转换规则中将无法使用该模板!)', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
return offShelfTemplateStatus(ids);
}).then((result) => {
if (result.data === "下架失败") {
this.getList();
this.msgError("下架失败");
} else {
this.getList();
this.msgSuccess("下架成功");
}
}).catch(() => {
})
},
handleCopy(row){
this.$confirm('是否确认复制名称为"' + name + '"的模板?(复制后名称会改变)', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
return CopyTemplate(row.id);
}).then((result) => {
debugger
if (result.data === "复制失败") {
this.getList();
this.msgError("复制失败");
} else {
this.getList();
this.msgSuccess("复制成功,新模板名称为:“"+result.data+"");
}
}).catch(() => {
})
},
// /** 导出按钮操作 */
// handleExport() {
// const queryParams = this.queryParams;
// this.$confirm('是否确认导出所有导入规则数据项?', "警告", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning"
// }).then(function() {
// return exportMyluckyexcel(queryParams);
// }).then(response => {
// this.download(response.msg);
// })
// }
}
}
</script>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment