Commit 92a52918 by ‘巴博尔’

修改

parent ef5a7960
import request from '@/utils/request'
// 查询商品列表
export function listGoods(query) {
return request({
url: '/system/goods/list',
method: 'get',
params: query
})
}
// 查询商品详细
export function getGoods(id) {
return request({
url: '/system/goods/' + id,
method: 'get'
})
}
// 新增商品
export function addGoods(data) {
return request({
url: '/system/goods',
method: 'post',
data: data
})
}
// 修改商品
export function updateGoods(data) {
return request({
url: '/system/goods',
method: 'put',
data: data
})
}
// 删除商品
export function delGoods(id) {
return request({
url: '/system/goods/' + id,
method: 'delete'
})
}
/*
* @Author: ‘巴博尔’ 2164119982@qq.com
* @Date: 2023-09-13 14:18:29
* @LastEditors: ‘巴博尔’ 2164119982@qq.com
* @LastEditTime: 2023-09-13 14:25:22
* @FilePath: \peizhen-vue\src\api\income\index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import request from '@/utils/request'
// 查询商城提现审批列表
export function listIncome(query) {
return request({
url: '/system/storeIncome/list',
method: 'get',
params: query
})
}
// 查询商城提现审批详细
export function getIncome(id) {
return request({
url: '/system/storeIncome/' + id,
method: 'get'
})
}
// 新增商城提现审批
export function addIncome(data) {
return request({
url: '/system/storeIncome',
method: 'post',
data: data
})
}
// 修改商城提现审批
export function updateIncome(data) {
return request({
url: '/system/storeIncome',
method: 'put',
data: data
})
}
// 删除商城提现审批
export function delIncome(id) {
return request({
url: '/system/storeIncome/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询商品标签列表
export function listGoodsTag(query) {
return request({
url: '/system/goodsTag/list',
method: 'get',
params: query
})
}
// 查询商品标签详细
export function getGoodsTag(id) {
return request({
url: '/system/goodsTag/' + id,
method: 'get'
})
}
// 新增商品标签
export function addGoodsTag(data) {
return request({
url: '/system/goodsTag',
method: 'post',
data: data
})
}
// 修改商品标签
export function updateGoodsTag(data) {
return request({
url: '/system/goodsTag',
method: 'put',
data: data
})
}
// 删除商品标签
export function delGoodsTag(id) {
return request({
url: '/system/goodsTag/' + id,
method: 'delete'
})
}
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
<el-input v-model="form.storeId" placeholder="请输入" /> <el-input v-model="form.storeId" placeholder="请输入" />
</el-form-item> --> </el-form-item> -->
<el-form-item label="分类名称" prop="title"> <el-form-item label="分类名称" prop="title">
<el-input maxlength="-1" v-model="form.title" placeholder="请输入分类名称" /> <el-input maxlength="100" v-model="form.title" placeholder="请输入分类名称" show-word-limit />
</el-form-item> </el-form-item>
<!-- <el-form-item label="排序" prop="order"> <!-- <el-form-item label="排序" prop="order">
<el-input v-model="form.order" placeholder="请输入排序" /> <el-input v-model="form.order" placeholder="请输入排序" />
...@@ -203,9 +203,9 @@ export default { ...@@ -203,9 +203,9 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
storeId: undefined, // storeId: undefined,
title: undefined, title: undefined,
order: undefined, // order: undefined,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
...@@ -237,15 +237,15 @@ export default { ...@@ -237,15 +237,15 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: undefined, id: undefined,
storeId: undefined, // storeId: undefined,
title: undefined, title: undefined,
order: undefined, // order: undefined,
delFlag: undefined, // delFlag: undefined,
createBy: undefined, // createBy: undefined,
createTime: undefined, // createTime: undefined,
updateBy: undefined, // updateBy: undefined,
updateTime: undefined, // updateTime: undefined,
remark: undefined, // remark: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
......
<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="title">
<el-input
v-model="queryParams.title"
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
>
<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="['system:goods: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="['system:goods: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="['system:goods: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="['system:goods:export']"
>导出</el-button>
</el-col> -->
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="goodsList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="ID"
align="center"
prop="id"
key="id"
:show-overflow-tooltip="true"
/>
<el-table-column
label="商品名称"
align="center"
prop="title"
key="title"
:show-overflow-tooltip="true"
/>
<el-table-column label="商品类别" align="center" prop="categoryId" />
<el-table-column label="标签" align="center" prop="list" key="list">
<template slot-scope="{ row }">
<i class="el el-tag" v-for="(item, index) in row.list" :key="index">{{
item.title
}}</i>
</template>
</el-table-column>
<el-table-column
label="原价"
align="center"
prop="price"
key="price"
:show-overflow-tooltip="true"
/>
<el-table-column
label="售价"
align="center"
prop="salePrice"
key="salePrice"
:show-overflow-tooltip="true"
/>
<el-table-column
label="小封面图"
align="center"
prop="smallCover"
key="smallCover"
width="170"
>
<template slot-scope="{ row }">
<imageUpload
v-if="row.smallCover"
v-model="row.smallCover"
:limit="1"
:isShowTip="false"
:disabled="true"
></imageUpload>
</template>
</el-table-column>
<el-table-column label="封面图" align="center" prop="cover">
<template slot-scope="{ row }">
<span>
<el-button
v-if="row.cover"
type="text"
@click="clickSeeVisitor(row)"
>点击查看</el-button
>
</span>
</template>
</el-table-column>
<el-table-column label="介绍" align="center" prop="intro">
<template slot-scope="{ row }">
<span>
<el-button
v-if="row.intro"
type="text"
@click="clickSeeROWrEM(row.intro, '商品描述')"
>点击查看</el-button
>
</span>
</template>
</el-table-column>
<el-table-column
label="浏览数"
align="center"
prop="lookNum"
key="lookNum"
/>
<el-table-column
label="库存"
align="center"
prop="inventory"
key="inventory"
/>
<el-table-column
label="更新时间"
align="center"
prop="updateTime"
key="updateTime"
width="180"
:show-overflow-tooltip="true"
/>
<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="['system:goods:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:goods: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-dialog :title="title" :visible.sync="open" width="65%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="商品名称" prop="title">
<el-input v-model="form.title" placeholder="请输入商品名称" />
</el-form-item>
<el-form-item label="标签" prop="tagIds">
<el-select
v-model="form.tagIds"
multiple
filterable
clearable
placeholder="请选择标签"
>
<el-option
v-for="item in listGoodsTagList"
:key="item.id"
:label="item.title"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="原价" prop="price">
<el-input-number
v-model="form.price"
:precision="2"
:step="0.1"
:min="0"
></el-input-number>
</el-form-item>
<el-form-item label="售价" prop="salePrice">
<el-input-number
v-model="form.salePrice"
:precision="2"
:step="0.1"
:min="0"
></el-input-number>
</el-form-item>
<el-form-item label="小封面图" prop="smallCover">
<imageUpload v-model="form.smallCover" :limit="1"></imageUpload>
</el-form-item>
<el-form-item label="封面图" prop="cover">
<imageUpload v-model="form.cover" :limit="9"></imageUpload>
</el-form-item>
<el-form-item label="商品分类" prop="categoryId">
<el-select
v-model="form.categoryId"
filterable
clearable
placeholder="请选择标签"
>
<el-option
v-for="item in listGoodsCategoryList"
:key="item.id"
:label="item.title"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="库存" prop="inventory">
<el-input-number v-model="form.inventory" :min="0"></el-input-number>
</el-form-item>
<el-form-item label="介绍" prop="intro">
<editor v-model="form.intro" :min-height="192" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-dialog
:title="openArticleTitle"
:visible.sync="openArticle"
width="50%"
append-to-body
>
<div class="hidden-dialog">
<div class="content" v-html="rowArticle"></div>
</div>
</el-dialog>
<el-dialog
title="商品图片"
:visible.sync="openArticleInfo"
width="600px"
append-to-body
>
<imageUpload
v-if="VisitorData.cover"
v-model="VisitorData.cover"
:limit="VisitorData.cover.split(',').length"
:isShowTip="false"
:disabled="true"
></imageUpload>
</el-dialog>
</div>
</template>
<script>
import {
listGoods,
getGoods,
delGoods,
addGoods,
updateGoods,
} from "@/api/goods/index";
import { listGoodsCategory } from "@/api/category/index";
import { listGoodsTag } from "@/api/tag/index";
export default {
name: "Goods",
data() {
return {
// 按钮loading
buttonLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 商品表格数据
goodsList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
// cityId: undefined,
// storeId: undefined,
title: undefined,
// tags: undefined,
// price: undefined,
// salePrice: undefined,
// smallCover: undefined,
// cover: undefined,
// categoryId: undefined,
// intro: undefined,
// lookNum: undefined,
// inventory: undefined,
// saleNum: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
categoryId: [
{ required: true, message: "商品分类不能为空", trigger: "blur" },
],
},
listGoodsCategoryList: [],
listGoodsTagList: [],
VisitorData: {
cover: undefined,
},
openArticleInfo: false,
openArticle: false,
openArticleTitle: "",
rowArticle: "",
};
},
created() {
this.getList();
},
methods: {
clickSeeROWrEM(text, title) {
this.openArticle = true;
this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title;
},
replaceSpecialChar(detail) {
var content = detail.replaceAll(
/<img[^>]*>/gi,
function (match, capture) {
var match = match.replaceAll(
/(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
``
); //清空自带的width,height
match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
},
clickSeeVisitor(row) {
this.VisitorData = {
cover: undefined,
};
this.openArticleInfo = true;
this.VisitorData = row;
},
listGoodsTagAxios() {
listGoodsTag({
pageNum: 1,
pageSize: 99999,
}).then((response) => {
this.listGoodsTagList = response.rows;
});
},
listGoodsCategoryAxios() {
listGoodsCategory({
pageNum: 1,
pageSize: 99999,
}).then((response) => {
this.listGoodsCategoryList = response.rows;
});
},
/** 查询商品列表 */
getList() {
this.loading = true;
listGoods(this.queryParams).then((response) => {
this.goodsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
title: undefined,
tagIds: undefined,
price: undefined,
salePrice: undefined,
smallCover: undefined,
cover: undefined,
categoryId: undefined,
inventory: undefined,
intro: undefined,
};
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.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.listGoodsTagAxios();
this.listGoodsCategoryAxios();
this.open = true;
this.title = "添加商品";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.loading = true;
this.reset();
this.listGoodsTagAxios();
this.listGoodsCategoryAxios();
const id = row.id || this.ids;
getGoods(id).then((response) => {
this.loading = false;
this.form = response.data;
this.$set(
this.form,
"tagIds",
this.form.tags ? JSON.parse(this.form.tags) : undefined
);
this.open = true;
this.title = "修改商品";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateGoods(this.form)
.then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
} else {
addGoods(this.form)
.then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除商品编号为"' + ids + '"的数据项?')
.then(() => {
this.loading = true;
return delGoods(ids);
})
.then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {})
.finally(() => {
this.loading = false;
});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"system/goods/export",
{
...this.queryParams,
},
`goods_${new Date().getTime()}.xlsx`
);
},
},
};
</script>
<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="status">
<el-select
v-model="queryParams.status"
clearable
placeholder="请选择状态"
@change="handleQuery"
>
<el-option
v-for="item in [
{
label: '待审核',
value: 0,
},
{
label: '通过',
value: 1,
},
{
label: '驳回',
value: 2,
},
]"
:key="item.value"
:label="item.label"
:value="item.value"
>
</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="['system:income: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="['system:income: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="['system:income: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="['system:income:export']"
>导出</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button type="primary" plain size="mini" @click="handleAdd"
>申请提现</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="incomeList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="ID"
align="center"
prop="id"
key="id"
:show-overflow-tooltip="true"
/>
<el-table-column
label="金额"
align="center"
prop="amount"
key="amount"
:show-overflow-tooltip="true"
/>
<el-table-column
label="发票信息"
align="center"
prop="invoice"
key="invoice"
:show-overflow-tooltip="true"
/>
<el-table-column
label="反馈信息"
align="center"
prop="feedback"
key="feedback"
:show-overflow-tooltip="true"
/>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="{ row }">
<span v-if="row.status == 0">待审核</span>
<span v-if="row.status == 1">通过</span>
<span v-if="row.status == 2">驳回</span>
</template>
</el-table-column>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
key="createTime"
width="180"
:show-overflow-tooltip="true"
/>
<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="['system:income:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:income:remove']"
>删除</el-button
> -->
<el-button size="mini" type="text" @click="handleUpdate(scope.row, 1)"
>通过</el-button
>
<el-button size="mini" type="text" @click="handleUpdate(scope.row, 2)"
>拒绝</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-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="商户ID" prop="storeId">
<el-input v-model="form.storeId" placeholder="请输入商户ID" />
</el-form-item> -->
<el-form-item label="金额" prop="amount">
<el-input-number v-model="form.amount" :precision="2" :step="0.1" :min="0"></el-input-number>
</el-form-item>
<el-form-item label="发票信息" prop="invoice">
<imageUpload
:limit="9"
v-model="form.invoice"
:fileType="['png', 'jpg', 'jpeg']"
></imageUpload>
</el-form-item>
<!-- <el-form-item label="反馈" prop="feedback">
<el-input v-model="form.feedback" placeholder="请输入反馈" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input
v-model="form.remark"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listIncome,
getIncome,
delIncome,
addIncome,
updateIncome,
} from "@/api/income/index";
export default {
name: "Income",
data() {
return {
// 按钮loading
buttonLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 商城提现审批表格数据
incomeList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
// storeId: undefined,
// amount: undefined,
// invoice: undefined,
// feedback: undefined,
status: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
amount: [{ required: true, message: "金额不能为空", trigger: "blur" }],
},
openLX: false,
};
},
created() {
this.getList();
},
methods: {
/** 查询商城提现审批列表 */
getList() {
this.loading = true;
listIncome(this.queryParams).then((response) => {
this.incomeList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
// storeId: undefined,
amount: undefined,
invoice: undefined,
// feedback: undefined,
// status: undefined,
// delFlag: undefined,
// createBy: undefined,
// createTime: undefined,
// updateBy: undefined,
// updateTime: undefined,
// remark: undefined,
};
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.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "申请提现";
},
/** 修改按钮操作 */
handleUpdate(row, status) {
// this.loading = true;
// this.reset();
// const id = row.id || this.ids;
// getIncome(id).then((response) => {
// this.loading = false;
// this.form = response.data;
// this.open = true;
// this.title = "修改商城提现审批";
// });
updateIncome({
id: row.id,
status,
})
.then((response) => {
this.$modal.msgSuccess("修改成功");
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateIncome(this.form)
.then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
} else {
addIncome(this.form)
.then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除商城提现审批编号为"' + ids + '"的数据项?')
.then(() => {
this.loading = true;
return delIncome(ids);
})
.then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {})
.finally(() => {
this.loading = false;
});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"system/income/export",
{
...this.queryParams,
},
`income_${new Date().getTime()}.xlsx`
);
},
},
};
</script>
...@@ -65,7 +65,10 @@ ...@@ -65,7 +65,10 @@
v-hasPermi="['system:information:export']" v-hasPermi="['system:information:export']"
>导出</el-button> >导出</el-button>
</el-col> --> </el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row> </el-row>
<el-table <el-table
...@@ -306,7 +309,25 @@ export default { ...@@ -306,7 +309,25 @@ export default {
handleLook(row) { handleLook(row) {
console.log(row, "查拉吗"); console.log(row, "查拉吗");
this.openArticle = true; this.openArticle = true;
this.rowArticle = row.info; this.rowArticle = this.replaceSpecialChar(row.info);
},
replaceSpecialChar(detail) {
var content = detail.replaceAll(
/<img[^>]*>/gi,
function (match, capture) {
var match = match.replaceAll(
/(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
``
); //清空自带的width,height
match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
......
...@@ -406,9 +406,27 @@ export default { ...@@ -406,9 +406,27 @@ export default {
methods: { methods: {
clickSeeROWrEM(text, title) { clickSeeROWrEM(text, title) {
this.openArticle = true; this.openArticle = true;
this.rowArticle = text; this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title; this.openArticleTitle = title;
}, },
replaceSpecialChar(detail) {
var content = detail.replaceAll(
/<img[^>]*>/gi,
function (match, capture) {
var match = match.replaceAll(
/(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
``
); //清空自带的width,height
match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
},
clickSeeVisitor(row) { clickSeeVisitor(row) {
this.VisitorData = { this.VisitorData = {
name: "", name: "",
......
...@@ -436,9 +436,27 @@ export default { ...@@ -436,9 +436,27 @@ export default {
methods: { methods: {
clickSeeROWrEM(text, title) { clickSeeROWrEM(text, title) {
this.openArticle = true; this.openArticle = true;
this.rowArticle = text; this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title; this.openArticleTitle = title;
}, },
replaceSpecialChar(detail) {
var content = detail.replaceAll(
/<img[^>]*>/gi,
function (match, capture) {
var match = match.replaceAll(
/(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
``
); //清空自带的width,height
match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
},
clickSeeVisitor(row) { clickSeeVisitor(row) {
this.VisitorData = { this.VisitorData = {
name: "", name: "",
......
...@@ -551,18 +551,26 @@ export default { ...@@ -551,18 +551,26 @@ export default {
methods: { methods: {
clickSeeROWrEM(text, title) { clickSeeROWrEM(text, title) {
this.openArticle = true; this.openArticle = true;
this.rowArticle = text; this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title; this.openArticleTitle = title;
}, },
clickSeeVisitor(row) { replaceSpecialChar(detail) {
this.VisitorData = { var content = detail.replaceAll(
name: "", /<img[^>]*>/gi,
sex: "", function (match, capture) {
idcard: "", var match = match.replaceAll(
isAdult: "", /(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
}; ``
this.openArticleInfo = true; ); //清空自带的width,height
this.VisitorData = row.userVsitorVo; match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
}, },
/** 查询代办买药订单列表 */ /** 查询代办买药订单列表 */
getList() { getList() {
......
...@@ -595,18 +595,26 @@ export default { ...@@ -595,18 +595,26 @@ export default {
methods: { methods: {
clickSeeROWrEM(text, title) { clickSeeROWrEM(text, title) {
this.openArticle = true; this.openArticle = true;
this.rowArticle = text; this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title; this.openArticleTitle = title;
}, },
clickSeeVisitor(row) { replaceSpecialChar(detail) {
this.VisitorData = { var content = detail.replaceAll(
name: "", /<img[^>]*>/gi,
sex: "", function (match, capture) {
idcard: "", var match = match.replaceAll(
isAdult: "", /(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
}; ``
this.openArticleInfo = true; ); //清空自带的width,height
this.VisitorData = row.userVsitorVo; match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
}, },
/** 查询代办问诊订单列表 */ /** 查询代办问诊订单列表 */
getList() { getList() {
......
...@@ -440,9 +440,27 @@ export default { ...@@ -440,9 +440,27 @@ export default {
methods: { methods: {
clickSeeROWrEM(text, title) { clickSeeROWrEM(text, title) {
this.openArticle = true; this.openArticle = true;
this.rowArticle = text; this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title; this.openArticleTitle = title;
}, },
replaceSpecialChar(detail) {
var content = detail.replaceAll(
/<img[^>]*>/gi,
function (match, capture) {
var match = match.replaceAll(
/(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
``
); //清空自带的width,height
match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
},
clickSeeVisitor(row) { clickSeeVisitor(row) {
this.VisitorData = { this.VisitorData = {
name: "", name: "",
......
...@@ -351,9 +351,27 @@ export default { ...@@ -351,9 +351,27 @@ export default {
methods: { methods: {
clickSeeROWrEM(text, title) { clickSeeROWrEM(text, title) {
this.openArticle = true; this.openArticle = true;
this.rowArticle = text; this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title; this.openArticleTitle = title;
}, },
replaceSpecialChar(detail) {
var content = detail.replaceAll(
/<img[^>]*>/gi,
function (match, capture) {
var match = match.replaceAll(
/(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
``
); //清空自带的width,height
match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
},
/** 查询诊前挂号订单列表 */ /** 查询诊前挂号订单列表 */
getList() { getList() {
this.loading = true; this.loading = true;
......
...@@ -472,9 +472,27 @@ export default { ...@@ -472,9 +472,27 @@ export default {
methods: { methods: {
clickSeeROWrEM(text, title) { clickSeeROWrEM(text, title) {
this.openArticle = true; this.openArticle = true;
this.rowArticle = text; this.rowArticle = this.replaceSpecialChar(text);
this.openArticleTitle = title; this.openArticleTitle = title;
}, },
replaceSpecialChar(detail) {
var content = detail.replaceAll(
/<img[^>]*>/gi,
function (match, capture) {
var match = match.replaceAll(
/(style="(.*?)")|(width="(.*?)")|(height="(.*?)")/gi,
``
); //清空自带的width,height
match = match.replaceAll(
"<img",
'<img style="max-width:100%;margin: 0 auto;"'
);
console.log(match, "change"); //设置最大宽度
return match;
}
);
return content;
},
clickSeeVisitor(row) { clickSeeVisitor(row) {
this.VisitorData = { this.VisitorData = {
name: "", name: "",
......
<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="title">
<el-input
v-model="queryParams.title"
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
>
<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="['system:goodsTag: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="['system:goodsTag: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="['system:goodsTag: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="['system:goodsTag:export']"
>导出</el-button>
</el-col> -->
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<div class="blocks">
<div v-for="(item, index) in goodsTagList" :key="index" class="blocks-item">
<p class="blocks-item-title">{{ item.title }}</p>
<div class="blocks-item-footer">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(item)"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(item)"
>删除</el-button
>
</div>
</div>
</div>
<!-- <el-table
v-loading="loading"
:data="goodsTagList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="" align="center" prop="id" v-if="true" />
<el-table-column label="" align="center" prop="storeId" />
<el-table-column label="标签" align="center" prop="title" />
<el-table-column label="备注" align="center" prop="remark" />
<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="['system:goodsTag:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:goodsTag: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-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="storeId">
<el-input v-model="form.storeId" placeholder="请输入" />
</el-form-item> -->
<el-form-item label="标签" prop="title">
<el-input v-model="form.title" placeholder="请输入标签" />
</el-form-item>
<!-- <el-form-item label="备注" prop="remark">
<el-input
v-model="form.remark"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listGoodsTag,
getGoodsTag,
delGoodsTag,
addGoodsTag,
updateGoodsTag,
} from "@/api/tag/index";
export default {
name: "GoodsTag",
data() {
return {
// 按钮loading
buttonLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 商品标签表格数据
goodsTagList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
// storeId: undefined,
title: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {},
};
},
created() {
this.getList();
},
methods: {
/** 查询商品标签列表 */
getList() {
this.loading = true;
listGoodsTag(this.queryParams).then((response) => {
this.goodsTagList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
// storeId: undefined,
title: undefined,
// delFlag: undefined,
// createBy: undefined,
// createTime: undefined,
// updateBy: undefined,
// updateTime: undefined,
// remark: undefined,
};
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.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加商品标签";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.loading = true;
this.reset();
const id = row.id || this.ids;
getGoodsTag(id).then((response) => {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改商品标签";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateGoodsTag(this.form)
.then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
} else {
addGoodsTag(this.form)
.then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
})
.finally(() => {
this.buttonLoading = false;
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除商品标签编号为"' + ids + '"的数据项?')
.then(() => {
this.loading = true;
return delGoodsTag(ids);
})
.then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {})
.finally(() => {
this.loading = false;
});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"system/goodsTag/export",
{
...this.queryParams,
},
`goodsTag_${new Date().getTime()}.xlsx`
);
},
},
};
</script>
<style lang="scss" scoped>
.blocks {
width: 100%;
display: flex;
flex-wrap: wrap;
&-item {
flex: 0 0 20%;
padding: 10px 20px;
box-shadow: 0 0 10px 4px #e9e5e5;
border-radius: 10px;
margin-bottom: 10px;
&-title {
text-align: center;
font-size: 24px;
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
&-footer {
display: flex;
justify-content: right;
}
}
}
</style>
\ No newline at end of file
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