|
@@ -1,6 +1,12 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
+ <el-form
|
|
|
+ :model="queryParams"
|
|
|
+ ref="queryForm"
|
|
|
+ :inline="true"
|
|
|
+ v-show="showSearch"
|
|
|
+ label-width="68px"
|
|
|
+ >
|
|
|
<el-form-item label="编号" prop="fNo">
|
|
|
<el-input
|
|
|
v-model="queryParams.fNo"
|
|
@@ -91,12 +97,18 @@
|
|
|
:value="dict.dictValue"
|
|
|
/>
|
|
|
</el-select>
|
|
|
-
|
|
|
-
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
+ <el-button
|
|
|
+ type="cyan"
|
|
|
+ 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>
|
|
|
|
|
@@ -108,7 +120,8 @@
|
|
|
size="mini"
|
|
|
@click="handleAdd"
|
|
|
v-hasPermi="['basicdata:goods:add']"
|
|
|
- >新增</el-button>
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -118,7 +131,8 @@
|
|
|
:disabled="single"
|
|
|
@click="handleUpdate"
|
|
|
v-hasPermi="['basicdata:goods:edit']"
|
|
|
- >修改</el-button>
|
|
|
+ >修改</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -128,7 +142,8 @@
|
|
|
:disabled="multiple"
|
|
|
@click="handleDelete"
|
|
|
v-hasPermi="['basicdata:goods:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -137,25 +152,75 @@
|
|
|
size="mini"
|
|
|
@click="handleExport"
|
|
|
v-hasPermi="['basicdata:goods:export']"
|
|
|
- >导出</el-button>
|
|
|
+ >导出</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ <right-toolbar
|
|
|
+ :showSearch.sync="showSearch"
|
|
|
+ @queryTable="getList"
|
|
|
+ ></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-table v-loading="loading" :data="goodsList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table
|
|
|
+ v-loading="loading"
|
|
|
+ :data="goodsList"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ >
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column type="index" label="序号" align="center"/>
|
|
|
+ <el-table-column type="index" label="序号" align="center" />
|
|
|
<!--<el-table-column label="存储id" align="center" prop="fTypeid" />--><!-- 后期添加 -->
|
|
|
- <el-table-column label="编号" align="center" prop="fNo" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="名称" align="center" prop="fName" width="120" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="英文名称" align="center" prop="fEnam" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="商品类别" align="center" prop="fTypeid" :show-overflow-tooltip="true" :formatter="fTypeidFormat"/>
|
|
|
- <el-table-column label="规格" align="center" prop="fSpecs" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="包装规格" align="center" prop="fPackagespecs" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="颜色" align="center" prop="fColor" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="海关编码" align="center" prop="fHscode" :show-overflow-tooltip="true" />
|
|
|
+ <el-table-column
|
|
|
+ label="编号"
|
|
|
+ align="center"
|
|
|
+ prop="fNo"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="名称"
|
|
|
+ align="center"
|
|
|
+ prop="fName"
|
|
|
+ width="120"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="英文名称"
|
|
|
+ align="center"
|
|
|
+ prop="fEnam"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="商品类别"
|
|
|
+ align="center"
|
|
|
+ prop="fTypeid"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ :formatter="fTypeidFormat"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="规格"
|
|
|
+ align="center"
|
|
|
+ prop="fSpecs"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="包装规格"
|
|
|
+ align="center"
|
|
|
+ prop="fPackagespecs"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="颜色"
|
|
|
+ align="center"
|
|
|
+ prop="fColor"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="海关编码"
|
|
|
+ align="center"
|
|
|
+ prop="fHscode"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
<el-table-column label="包装类型" align="center" prop="fPackageid" />
|
|
|
- <el-table-column label="状态" align="center" prop="fStatus" >
|
|
|
+ <el-table-column label="状态" align="center" prop="fStatus">
|
|
|
<template slot-scope="scope">
|
|
|
<el-switch
|
|
|
v-model="scope.row.fStatus"
|
|
@@ -165,8 +230,18 @@
|
|
|
></el-switch>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
|
|
|
+ <el-table-column
|
|
|
+ label="备注"
|
|
|
+ align="center"
|
|
|
+ prop="remark"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="操作"
|
|
|
+ align="center"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ width="100"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
|
size="mini"
|
|
@@ -174,20 +249,22 @@
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
v-hasPermi="['basicdata:goods:edit']"
|
|
|
- >修改</el-button>
|
|
|
+ >修改</el-button
|
|
|
+ >
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
v-hasPermi="['basicdata:goods:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<pagination
|
|
|
- v-show="total>0"
|
|
|
+ v-show="total > 0"
|
|
|
:total="total"
|
|
|
:page.sync="queryParams.pageNum"
|
|
|
:limit.sync="queryParams.pageSize"
|
|
@@ -198,18 +275,39 @@
|
|
|
<el-dialog
|
|
|
v-dialogDrag
|
|
|
:fullscreen="dialogFull"
|
|
|
- width="80%" :title="title"
|
|
|
+ width="80%"
|
|
|
+ :title="title"
|
|
|
:visible.sync="open"
|
|
|
:close-on-click-modal="false"
|
|
|
- append-to-body>
|
|
|
+ append-to-body
|
|
|
+ >
|
|
|
<template slot="title">
|
|
|
<div class="avue-crud__dialog__header">
|
|
|
- <span class="el-dialog__title">
|
|
|
- <span style="display:inline-block;width:3px;height:20px;margin-right:5px; float: left;margin-top:2px"></span>
|
|
|
+ <span class="el-dialog__title">
|
|
|
+ <span
|
|
|
+ style="
|
|
|
+ display: inline-block;
|
|
|
+ width: 3px;
|
|
|
+ height: 20px;
|
|
|
+ margin-right: 5px;
|
|
|
+ float: left;
|
|
|
+ margin-top: 2px;
|
|
|
+ "
|
|
|
+ ></span>
|
|
|
添加商品详情
|
|
|
- </span>
|
|
|
+ </span>
|
|
|
<div class="avue-crud__dialog__menu enlarge" @click="full">
|
|
|
- <i style="cursor: pointer;display: block;width:12px;height:12px;border:1px solid #909399;border-top:3px solid #909399;margin-top: -3px;"></i>
|
|
|
+ <i
|
|
|
+ style="
|
|
|
+ cursor: pointer;
|
|
|
+ display: block;
|
|
|
+ width: 12px;
|
|
|
+ height: 12px;
|
|
|
+ border: 1px solid #909399;
|
|
|
+ border-top: 3px solid #909399;
|
|
|
+ margin-top: -3px;
|
|
|
+ "
|
|
|
+ ></i>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -247,7 +345,10 @@
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="包装规格" prop="fPackagespecs">
|
|
|
- <el-input v-model="form.fPackagespecs" placeholder="请输入包装规格" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.fPackagespecs"
|
|
|
+ placeholder="请输入包装规格"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
@@ -265,7 +366,10 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="包装类型" prop="fPackageid">
|
|
|
- <el-input v-model="form.fPackageid" placeholder="请输入包装类型" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.fPackageid"
|
|
|
+ placeholder="请输入包装类型"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -281,7 +385,8 @@
|
|
|
v-for="dict in statusOptions"
|
|
|
:key="dict.dictValue"
|
|
|
:label="dict.dictValue"
|
|
|
- >{{dict.dictLabel}}</el-radio>
|
|
|
+ >{{ dict.dictLabel }}</el-radio
|
|
|
+ >
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -298,10 +403,23 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
-
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
- <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.remark"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="箱号">
|
|
|
+ <el-radio-group v-model="form.ifCntrno">
|
|
|
+ <el-radio label="1">是</el-radio>
|
|
|
+ <el-radio label="0">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
@@ -312,295 +430,312 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import { listGoods, getGoods, delGoods, addGoods, updateGoods,changeGoodsStatus, exportGoods } from "@/api/basicdata/goods";
|
|
|
- import Vue from 'vue'
|
|
|
- Vue.directive('dialogDrag', {
|
|
|
- bind(el, binding, vnode, oldVnode) {
|
|
|
- const dialogHeaderEl = el.querySelector('.el-dialog__header')
|
|
|
- const dragDom = el.querySelector('.el-dialog')
|
|
|
- const enlarge = el.querySelector('.enlarge')
|
|
|
- dialogHeaderEl.style.cursor = 'move'
|
|
|
+import {
|
|
|
+ listGoods,
|
|
|
+ getGoods,
|
|
|
+ delGoods,
|
|
|
+ addGoods,
|
|
|
+ updateGoods,
|
|
|
+ changeGoodsStatus,
|
|
|
+ exportGoods,
|
|
|
+} from "@/api/basicdata/goods";
|
|
|
+import Vue from "vue";
|
|
|
+Vue.directive("dialogDrag", {
|
|
|
+ bind(el, binding, vnode, oldVnode) {
|
|
|
+ const dialogHeaderEl = el.querySelector(".el-dialog__header");
|
|
|
+ const dragDom = el.querySelector(".el-dialog");
|
|
|
+ const enlarge = el.querySelector(".enlarge");
|
|
|
+ dialogHeaderEl.style.cursor = "move";
|
|
|
|
|
|
- // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
|
|
|
- const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
|
|
|
- if(enlarge){
|
|
|
- enlarge.onclick = (e) => {
|
|
|
- dragDom.style.top = '0px'
|
|
|
- dragDom.style.left = '0px'
|
|
|
- }
|
|
|
- }
|
|
|
- dialogHeaderEl.onmousedown = (e) => {
|
|
|
- // 鼠标按下,计算当前元素距离可视区的距离
|
|
|
- const disX = e.clientX - dialogHeaderEl.offsetLeft
|
|
|
- const disY = e.clientY - dialogHeaderEl.offsetTop
|
|
|
+ // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
|
|
|
+ const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
|
|
|
+ if (enlarge) {
|
|
|
+ enlarge.onclick = (e) => {
|
|
|
+ dragDom.style.top = "0px";
|
|
|
+ dragDom.style.left = "0px";
|
|
|
+ };
|
|
|
+ }
|
|
|
+ dialogHeaderEl.onmousedown = (e) => {
|
|
|
+ // 鼠标按下,计算当前元素距离可视区的距离
|
|
|
+ const disX = e.clientX - dialogHeaderEl.offsetLeft;
|
|
|
+ const disY = e.clientY - dialogHeaderEl.offsetTop;
|
|
|
|
|
|
- // 获取到的值带px 正则匹配替换
|
|
|
- let styL, styT
|
|
|
+ // 获取到的值带px 正则匹配替换
|
|
|
+ let styL, styT;
|
|
|
|
|
|
- // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
|
|
|
- if (sty.left.includes('%')) {
|
|
|
- styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100)
|
|
|
- styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100)
|
|
|
- } else {
|
|
|
- styL = +sty.left.replace(/\px/g, '')
|
|
|
- styT = +sty.top.replace(/\px/g, '')
|
|
|
- }
|
|
|
+ // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
|
|
|
+ if (sty.left.includes("%")) {
|
|
|
+ styL =
|
|
|
+ +document.body.clientWidth * (+sty.left.replace(/\%/g, "") / 100);
|
|
|
+ styT =
|
|
|
+ +document.body.clientHeight * (+sty.top.replace(/\%/g, "") / 100);
|
|
|
+ } else {
|
|
|
+ styL = +sty.left.replace(/\px/g, "");
|
|
|
+ styT = +sty.top.replace(/\px/g, "");
|
|
|
+ }
|
|
|
|
|
|
- document.onmousemove = function(e) {
|
|
|
- // 通过事件委托,计算移动的距离
|
|
|
- const l = e.clientX - disX
|
|
|
- const t = e.clientY - disY
|
|
|
+ document.onmousemove = function (e) {
|
|
|
+ // 通过事件委托,计算移动的距离
|
|
|
+ const l = e.clientX - disX;
|
|
|
+ const t = e.clientY - disY;
|
|
|
|
|
|
- // 移动当前元素
|
|
|
+ // 移动当前元素
|
|
|
|
|
|
- if ((t + styT) >= 0){
|
|
|
- dragDom.style.top = `${t + styT}px`
|
|
|
- }
|
|
|
- dragDom.style.left = `${l + styL}px`
|
|
|
- // 将此时的位置传出去
|
|
|
- // binding.value({x:e.pageX,y:e.pageY})
|
|
|
+ if (t + styT >= 0) {
|
|
|
+ dragDom.style.top = `${t + styT}px`;
|
|
|
}
|
|
|
+ dragDom.style.left = `${l + styL}px`;
|
|
|
+ // 将此时的位置传出去
|
|
|
+ // binding.value({x:e.pageX,y:e.pageY})
|
|
|
+ };
|
|
|
|
|
|
- document.onmouseup = function(e) {
|
|
|
- document.onmousemove = null
|
|
|
- document.onmouseup = null
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
+ document.onmouseup = function (e) {
|
|
|
+ document.onmousemove = null;
|
|
|
+ document.onmouseup = null;
|
|
|
+ };
|
|
|
+ };
|
|
|
+ },
|
|
|
+});
|
|
|
|
|
|
- export default {
|
|
|
- name: "Goods",
|
|
|
- components: {
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- //全屏放大
|
|
|
- dialogFull:false,
|
|
|
- // 遮罩层
|
|
|
- loading: true,
|
|
|
- // 选中数组
|
|
|
- ids: [],
|
|
|
- // 非单个禁用
|
|
|
- single: true,
|
|
|
- // 非多个禁用
|
|
|
- multiple: true,
|
|
|
- // 显示搜索条件
|
|
|
- showSearch: true,
|
|
|
- // 总条数
|
|
|
- total: 0,
|
|
|
- // 商品详情表格数据
|
|
|
- goodsList: [],
|
|
|
- // 弹出层标题
|
|
|
- title: "",
|
|
|
- // 是否显示弹出层
|
|
|
- open: false,
|
|
|
- // 备注字典
|
|
|
- fIdOptions: [],
|
|
|
- // 状态数据字典
|
|
|
- statusOptions: [],
|
|
|
- // 数据字典
|
|
|
- fTypeidOptions: [],
|
|
|
- // 删除状态字典
|
|
|
- delFlagOptions: [],
|
|
|
- // 查询参数
|
|
|
- queryParams: {
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 10,
|
|
|
- fTypeid: null,
|
|
|
- fNo: null,
|
|
|
- fName: null,
|
|
|
- fEnam: null,
|
|
|
- fSpecs: null,
|
|
|
- fPackagespecs: null,
|
|
|
- fColor: null,
|
|
|
- fHscode: null,
|
|
|
- fPackageid: null,
|
|
|
- fStatus: null,
|
|
|
- },
|
|
|
- // 表单参数
|
|
|
- form: {},
|
|
|
- // 表单校验
|
|
|
- rules: {
|
|
|
- /*fTypeid: [
|
|
|
+export default {
|
|
|
+ name: "Goods",
|
|
|
+ components: {},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ //全屏放大
|
|
|
+ dialogFull: false,
|
|
|
+ // 遮罩层
|
|
|
+ loading: true,
|
|
|
+ // 选中数组
|
|
|
+ ids: [],
|
|
|
+ // 非单个禁用
|
|
|
+ single: true,
|
|
|
+ // 非多个禁用
|
|
|
+ multiple: true,
|
|
|
+ // 显示搜索条件
|
|
|
+ showSearch: true,
|
|
|
+ // 总条数
|
|
|
+ total: 0,
|
|
|
+ // 商品详情表格数据
|
|
|
+ goodsList: [],
|
|
|
+ // 弹出层标题
|
|
|
+ title: "",
|
|
|
+ // 是否显示弹出层
|
|
|
+ open: false,
|
|
|
+ // 备注字典
|
|
|
+ fIdOptions: [],
|
|
|
+ // 状态数据字典
|
|
|
+ statusOptions: [],
|
|
|
+ // 数据字典
|
|
|
+ fTypeidOptions: [],
|
|
|
+ // 删除状态字典
|
|
|
+ delFlagOptions: [],
|
|
|
+ // 查询参数
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ fTypeid: null,
|
|
|
+ fNo: null,
|
|
|
+ fName: null,
|
|
|
+ fEnam: null,
|
|
|
+ fSpecs: null,
|
|
|
+ fPackagespecs: null,
|
|
|
+ fColor: null,
|
|
|
+ fHscode: null,
|
|
|
+ fPackageid: null,
|
|
|
+ fStatus: null,
|
|
|
+ },
|
|
|
+ // 表单参数
|
|
|
+ form: {},
|
|
|
+ // 表单校验
|
|
|
+ rules: {
|
|
|
+ /*fTypeid: [
|
|
|
{ required: true, message: "存储id 显示名称 下拉选择类别,一个商品名称对应一个类别,对应t_goodtype的f_id不能为空", trigger: "blur" }
|
|
|
],*/
|
|
|
- fNo: [
|
|
|
- { required: true, message: "编号不能为空", trigger: "blur" }
|
|
|
- ],
|
|
|
- fName: [
|
|
|
- { required: true, message: "名称不能为空", trigger: "blur" }
|
|
|
- ],
|
|
|
- fTypeid: [
|
|
|
- { required: true, message: "商品类别不能为空", trigger: "blur" }
|
|
|
- ],
|
|
|
- }
|
|
|
- };
|
|
|
+ fNo: [{ required: true, message: "编号不能为空", trigger: "blur" }],
|
|
|
+ fName: [{ required: true, message: "名称不能为空", trigger: "blur" }],
|
|
|
+ fTypeid: [
|
|
|
+ { required: true, message: "商品类别不能为空", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getList();
|
|
|
+ this.getDicts("data_customer_category").then((response) => {
|
|
|
+ this.fIdOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("data_delete_state").then((response) => {
|
|
|
+ this.delFlagOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("sys_normal_disable").then((response) => {
|
|
|
+ this.statusOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("data_goods_category").then((response) => {
|
|
|
+ this.fTypeidOptions = response.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ full() {
|
|
|
+ this.dialogFull = !this.dialogFull;
|
|
|
},
|
|
|
- created() {
|
|
|
- this.getList();
|
|
|
- this.getDicts("data_customer_category").then(response => {
|
|
|
- this.fIdOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("data_delete_state").then(response => {
|
|
|
- this.delFlagOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("sys_normal_disable").then(response => {
|
|
|
- this.statusOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("data_goods_category").then(response => {
|
|
|
- this.fTypeidOptions = response.data;
|
|
|
+ /** 查询商品详情列表 */
|
|
|
+ getList() {
|
|
|
+ this.loading = true;
|
|
|
+ listGoods(this.queryParams).then((response) => {
|
|
|
+ this.goodsList = response.rows;
|
|
|
+ this.total = response.total;
|
|
|
+ this.loading = false;
|
|
|
});
|
|
|
},
|
|
|
- methods: {
|
|
|
- full(){
|
|
|
- this.dialogFull = !this.dialogFull
|
|
|
- },
|
|
|
- /** 查询商品详情列表 */
|
|
|
- getList() {
|
|
|
- this.loading = true;
|
|
|
- listGoods(this.queryParams).then(response => {
|
|
|
- this.goodsList = response.rows;
|
|
|
- this.total = response.total;
|
|
|
- this.loading = false;
|
|
|
- });
|
|
|
- },
|
|
|
- // 名称字典翻译
|
|
|
- fIdFormat(row, column) {
|
|
|
- return this.selectDictLabel(this.fIdOptions, row.fId);
|
|
|
- },
|
|
|
- // 货物类别,字典翻译
|
|
|
- fTypeidFormat(row, column) {
|
|
|
- return this.selectDictLabel(this.fTypeidOptions, row.fTypeid)
|
|
|
- },
|
|
|
- // 删除状态字典翻译
|
|
|
- delFlagFormat(row, column) {
|
|
|
- return this.selectDictLabel(this.delFlagOptions, row.delFlag);
|
|
|
- },
|
|
|
- // 取消按钮
|
|
|
- cancel() {
|
|
|
- this.open = false;
|
|
|
- this.reset();
|
|
|
- },
|
|
|
- // 表单重置
|
|
|
- reset() {
|
|
|
- this.form = {
|
|
|
- fId: null,
|
|
|
- /* fTypeid: null, 下拉框 后期修改 */
|
|
|
- fNo: null,
|
|
|
- fName: null,
|
|
|
- fEnam: null,
|
|
|
- fSpecs: null,
|
|
|
- fPackagespecs: null,
|
|
|
- fColor: null,
|
|
|
- fHscode: null,
|
|
|
- fPackageid: null,
|
|
|
- fStatus: "0",
|
|
|
- delFlag: null,
|
|
|
- createBy: null,
|
|
|
- createTime: null,
|
|
|
- updateBy: null,
|
|
|
- updateTime: null,
|
|
|
- remark: null
|
|
|
- };
|
|
|
- this.resetForm("form");
|
|
|
- },
|
|
|
- // 状态修改
|
|
|
- handleStatusChange(row) {
|
|
|
- let text = row.fStatus === "0" ? "启用" : "停用";
|
|
|
- this.$confirm('确认要"' + text + '""' + row.fName + '"吗?', "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(function() {
|
|
|
+ // 名称字典翻译
|
|
|
+ fIdFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.fIdOptions, row.fId);
|
|
|
+ },
|
|
|
+ // 货物类别,字典翻译
|
|
|
+ fTypeidFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.fTypeidOptions, row.fTypeid);
|
|
|
+ },
|
|
|
+ // 删除状态字典翻译
|
|
|
+ delFlagFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.delFlagOptions, row.delFlag);
|
|
|
+ },
|
|
|
+ // 取消按钮
|
|
|
+ cancel() {
|
|
|
+ this.open = false;
|
|
|
+ this.reset();
|
|
|
+ },
|
|
|
+ // 表单重置
|
|
|
+ reset() {
|
|
|
+ this.form = {
|
|
|
+ fId: null,
|
|
|
+ /* fTypeid: null, 下拉框 后期修改 */
|
|
|
+ fNo: null,
|
|
|
+ fName: null,
|
|
|
+ fEnam: null,
|
|
|
+ fSpecs: null,
|
|
|
+ fPackagespecs: null,
|
|
|
+ fColor: null,
|
|
|
+ fHscode: null,
|
|
|
+ fPackageid: null,
|
|
|
+ fStatus: "0",
|
|
|
+ delFlag: null,
|
|
|
+ createBy: null,
|
|
|
+ createTime: null,
|
|
|
+ updateBy: null,
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ ifCntrno:"0",
|
|
|
+ };
|
|
|
+ this.resetForm("form");
|
|
|
+ },
|
|
|
+ // 状态修改
|
|
|
+ handleStatusChange(row) {
|
|
|
+ let text = row.fStatus === "0" ? "启用" : "停用";
|
|
|
+ this.$confirm('确认要"' + text + '""' + row.fName + '"吗?', "警告", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(function () {
|
|
|
return changeGoodsStatus(row.fId, row.fStatus);
|
|
|
- }).then(() => {
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
this.msgSuccess(text + "成功");
|
|
|
- }).catch(function() {
|
|
|
+ })
|
|
|
+ .catch(function () {
|
|
|
row.fStatus = row.fStatus === "0" ? "1" : "0";
|
|
|
});
|
|
|
- },
|
|
|
- /** 搜索按钮操作 */
|
|
|
- handleQuery() {
|
|
|
- this.queryParams.pageNum = 1;
|
|
|
- this.getList();
|
|
|
- },
|
|
|
- /** 重置按钮操作 */
|
|
|
- resetQuery() {
|
|
|
- this.resetForm("queryForm");
|
|
|
- this.handleQuery();
|
|
|
- },
|
|
|
- // 多选框选中数据
|
|
|
- handleSelectionChange(selection) {
|
|
|
- this.ids = selection.map(item => item.fId)
|
|
|
- this.single = selection.length!==1
|
|
|
- this.multiple = !selection.length
|
|
|
- },
|
|
|
- /** 新增按钮操作 */
|
|
|
- handleAdd() {
|
|
|
- this.reset();
|
|
|
+ },
|
|
|
+ /** 搜索按钮操作 */
|
|
|
+ handleQuery() {
|
|
|
+ this.queryParams.pageNum = 1;
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ /** 重置按钮操作 */
|
|
|
+ resetQuery() {
|
|
|
+ this.resetForm("queryForm");
|
|
|
+ this.handleQuery();
|
|
|
+ },
|
|
|
+ // 多选框选中数据
|
|
|
+ handleSelectionChange(selection) {
|
|
|
+ this.ids = selection.map((item) => item.fId);
|
|
|
+ this.single = selection.length !== 1;
|
|
|
+ this.multiple = !selection.length;
|
|
|
+ },
|
|
|
+ /** 新增按钮操作 */
|
|
|
+ handleAdd() {
|
|
|
+ this.reset();
|
|
|
+ this.open = true;
|
|
|
+ this.title = "添加商品详情";
|
|
|
+ },
|
|
|
+ /** 修改按钮操作 */
|
|
|
+ handleUpdate(row) {
|
|
|
+ this.reset();
|
|
|
+ const fId = row.fId || this.ids;
|
|
|
+ getGoods(fId).then((response) => {
|
|
|
+ this.form = response.data;
|
|
|
this.open = true;
|
|
|
- this.title = "添加商品详情";
|
|
|
- },
|
|
|
- /** 修改按钮操作 */
|
|
|
- handleUpdate(row) {
|
|
|
- this.reset();
|
|
|
- const fId = row.fId || this.ids
|
|
|
- getGoods(fId).then(response => {
|
|
|
- this.form = response.data;
|
|
|
- this.open = true;
|
|
|
- this.title = "修改商品详情";
|
|
|
- });
|
|
|
- },
|
|
|
- /** 提交按钮 */
|
|
|
- submitForm() {
|
|
|
- this.$refs["form"].validate(valid => {
|
|
|
- if (valid) {
|
|
|
- if (this.form.fId != null) {
|
|
|
- updateGoods(this.form).then(response => {
|
|
|
- this.msgSuccess("修改成功");
|
|
|
- this.open = false;
|
|
|
- this.getList();
|
|
|
- });
|
|
|
- } else {
|
|
|
- addGoods(this.form).then(response => {
|
|
|
- this.msgSuccess("新增成功");
|
|
|
- this.open = false;
|
|
|
- this.getList();
|
|
|
- });
|
|
|
- }
|
|
|
+ this.title = "修改商品详情";
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 提交按钮 */
|
|
|
+ submitForm() {
|
|
|
+ this.$refs["form"].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ if (this.form.fId != null) {
|
|
|
+ updateGoods(this.form).then((response) => {
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
+ this.open = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ addGoods(this.form).then((response) => {
|
|
|
+ this.msgSuccess("新增成功");
|
|
|
+ this.open = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
}
|
|
|
- });
|
|
|
- },
|
|
|
- /** 删除按钮操作 */
|
|
|
- handleDelete(row) {
|
|
|
- const fIds = row.fId || this.ids;
|
|
|
- this.$confirm('是否确认删除商品详情编号为"' + fIds + '"的数据项?', "警告", {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 删除按钮操作 */
|
|
|
+ handleDelete(row) {
|
|
|
+ const fIds = row.fId || this.ids;
|
|
|
+ this.$confirm(
|
|
|
+ '是否确认删除商品详情编号为"' + fIds + '"的数据项?',
|
|
|
+ "警告",
|
|
|
+ {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(function() {
|
|
|
+ type: "warning",
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then(function () {
|
|
|
return delGoods(fIds);
|
|
|
- }).then(() => {
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
this.getList();
|
|
|
this.msgSuccess("删除成功");
|
|
|
- })
|
|
|
- },
|
|
|
- /** 导出按钮操作 */
|
|
|
- handleExport() {
|
|
|
- const queryParams = this.queryParams;
|
|
|
- this.$confirm('是否确认导出所有商品详情数据项?', "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(function() {
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 导出按钮操作 */
|
|
|
+ handleExport() {
|
|
|
+ const queryParams = this.queryParams;
|
|
|
+ this.$confirm("是否确认导出所有商品详情数据项?", "警告", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(function () {
|
|
|
return exportGoods(queryParams);
|
|
|
- }).then(response => {
|
|
|
- this.download(response.msg);
|
|
|
})
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
+ .then((response) => {
|
|
|
+ this.download(response.msg);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
</script>
|
|
|
<style lang="scss">
|
|
|
.avue-crud__dialog__header {
|
|
@@ -615,7 +750,7 @@
|
|
|
justify-content: space-between;
|
|
|
}
|
|
|
.el-dialog__title {
|
|
|
- color: rgba(0,0,0,.85);
|
|
|
+ color: rgba(0, 0, 0, 0.85);
|
|
|
font-weight: 500;
|
|
|
word-wrap: break-word;
|
|
|
}
|
|
@@ -627,7 +762,7 @@
|
|
|
color: #909399;
|
|
|
font-size: 15px;
|
|
|
}
|
|
|
-.el-icon-full-screen{
|
|
|
+.el-icon-full-screen {
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
.el-icon-full-screen:before {
|