xuhaifeng пре 11 месеци
родитељ
комит
9f539af879

BIN
src/assets/images/img.png


+ 2 - 2
src/assets/styles/element-ui.scss

@@ -1,7 +1,7 @@
 // cover some element-ui styles
 
 .el-table--medium .el-table__cell {
-  padding: 7px 0;
+  padding: 5px 0;
 }
 
 .el-breadcrumb__inner,
@@ -93,4 +93,4 @@
   > .el-submenu__title
   .el-submenu__icon-arrow {
   display: none;
-}
+}

+ 13 - 2
src/assets/styles/ruoyi.scss

@@ -71,16 +71,27 @@
 	padding: 10px 20px 0;
 }
 
+ .el-button--medium {
+   font-size: 13px;
+   border-radius: 2px;
+ }
+
 .el-table {
+  font-size: 13px;
 	.el-table__header-wrapper, .el-table__fixed-header-wrapper {
 		th {
 			word-break: break-word;
 			background-color: #FAFAFA;
 			height: 40px;
-			font-size: 14px;
+			font-size: 13px;
 			font-weight:bold;
 		}
 	}
+  .el-button--medium {
+    color: #409EFF;
+    font-size: 12px;
+    font-weight: 500;
+  }
 	.el-table__body-wrapper {
 		.el-button [class*="el-icon-"] + span {
 			margin-left: 1px;
@@ -90,7 +101,7 @@
 
 /** 表单布局 **/
 .form-header {
-    font-size:15px;
+  font-size:15px;
 	color:#6379bb;
 	border-bottom:1px solid #ddd;
 	margin:8px 10px 25px 10px;

+ 393 - 405
src/views/cloth/clothItem/index.vue

@@ -1,421 +1,409 @@
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item prop="name">
-        <el-input v-model="queryParams.name" placeholder="请输入衣服名称" clearable @keyup.enter.native="handleQuery" />
-      </el-form-item>
-      <el-form-item prop="typeId">
-        <el-select v-model="queryParams.typeId" placeholder="衣服种类" clearable>
-          <el-option v-for="item in clothTypeList" :label="item.name" :value="item.id" :key="item.name">
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <!--			<el-form-item label="洗衣方式" prop="washId">-->
-      <!--				<el-select v-model="queryParams.washId" placeholder="洗衣方式" clearable>-->
-      <!--					<el-option v-for="item in washModeList" :label="item.name" :value="item.id" :key="item.name">-->
-      <!--					</el-option>-->
-      <!--				</el-select>-->
-      <!--			</el-form-item>-->
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" @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" @click="handleAdd" v-hasPermi="['cloth:clothItem:add']">新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button type="danger" plain icon="el-icon-delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['cloth:clothItem:remove']">删除
-        </el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <Page uri="/mapi/core/clothItem/list" :request-params="queryParams" ref="pagination" :selectionChange="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="编号" align="center" prop="id" />
-      <el-table-column label="衣服名称" align="center" prop="name" />
-      <el-table-column label="衣服类型" align="center" prop="typeName" />
-      <el-table-column label="单位" align="center" prop="unit" />
-      <el-table-column label="是否改变价格" align="center" prop="isChangePrice">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isChangePrice" />
-        </template>
-      </el-table-column>
-      <el-table-column label="是否按面积计算" align="center" prop="isCalArea">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isCalArea" />
-        </template>
-      </el-table-column>
-      <el-table-column label="是否特殊产品" align="center" prop="isSpecial">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isSpecial" />
-        </template>
-      </el-table-column>
-      <el-table-column label="显示顺序" align="center" prop="sort" />
-      <el-table-column label="启用状态" align="center" prop="status">
-        <template slot-scope="scope">
-          <el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
-        </template>
-      </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="220">
-        <template slot-scope="scope">
-          <el-button type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['cloth:clothItem:edit']">修改</el-button>
-          <el-button type="text" icon="el-icon-s-shop" @click="handlePriceUpdate(scope.row)" v-hasPermi="['cloth:price:list']">设置价格</el-button>
-          <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['cloth:clothItem:remove']">删除</el-button>
-        </template>
-      </el-table-column>
-    </Page>
-
-    <!-- 添加或修改衣服对话框 -->
-    <el-dialog :title="title" :visible.sync="open" size="50%" append-to-body :before-close="checkClose">
-      <el-row :gutter="15" >
-        <el-form ref="form" :model="form" :rules="rules" size="medium" label-width="120px">
-          <el-col :span="12">
-            <el-form-item label="衣服名称" prop="name">
-              <el-input v-model="form.name" placeholder="请输入衣服名称" :style="{width: '100%'}" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="单位" prop="unit">
-              <el-input v-model="form.unit" placeholder="请输入单位" :style="{width: '100%'}" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="衣服分类" prop="typeId">
-              <el-select v-model="form.typeId" placeholder="请选择衣服分类" :style="{width: '100%'}">
-                <el-option v-for="item in clothTypeList" :label="item.name" :value="item.id" :key="item.name">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="洗衣方式" prop="washId">
-              <el-select v-model="form.washId" placeholder="洗衣方式" :style="{width: '100%'}">
-                <el-option v-for="item in washModeList" :label="item.name" :value="item.id" :key="item.name">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="12">
-            <el-form-item label="是否改变价格" prop="isChangePrice">
-              <el-radio-group v-model="form.isChangePrice" size="small">
-                <el-radio-button v-for="dict in dict.type.sys_yes_no" :label="dict.value">{{dict.label}}</el-radio-button>
-              </el-radio-group>
+    <div class="app-container">
+        <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+            <el-form-item prop="name">
+                <el-input v-model="queryParams.name" placeholder="请输入衣服名称" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="是否面积计算" prop="isCalArea">
-              <el-radio-group v-model="form.isCalArea" size="small">
-                <el-radio-button v-for="dict in dict.type.sys_yes_no" :label="dict.value">{{dict.label}}</el-radio-button>
-              </el-radio-group>
+            <el-form-item prop="typeId">
+                <el-select v-model="queryParams.typeId" placeholder="衣服种类" clearable>
+                    <el-option v-for="item in clothTypeList" :label="item.name" :value="item.id" :key="item.name"> </el-option>
+                </el-select>
             </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="是否特殊产品" prop="isSpecial">
-              <el-radio-group v-model="form.isSpecial" size="small">
-                <el-radio-button v-for="dict in dict.type.sys_yes_no" :label="dict.value">{{dict.label}}</el-radio-button>
-              </el-radio-group>
+            <!--			<el-form-item label="洗衣方式" prop="washId">-->
+            <!--				<el-select v-model="queryParams.washId" placeholder="洗衣方式" clearable>-->
+            <!--					<el-option v-for="item in washModeList" :label="item.name" :value="item.id" :key="item.name">-->
+            <!--					</el-option>-->
+            <!--				</el-select>-->
+            <!--			</el-form-item>-->
+            <el-form-item>
+                <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
+                <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
             </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="图片" prop="imgUrl">
-              <image-upload v-model="form.imgUrl" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="描述" prop="content">
-              <editor v-model="form.content" :min-height="192" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="显示顺序" prop="sort">
-              <el-input-number v-model="form.sort" placeholder="请输入显示顺序(升序排列显示)" :min="0" :step-strictly="true" :style="{width: '100%'}">
-              </el-input-number>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="状态" prop="status">
-              <el-radio-group v-model="form.status" size="small">
-                <el-radio-button v-for="dict in dict.type.sys_normal_disable" :label="dict.value">{{dict.label}}</el-radio-button>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
         </el-form>
-      </el-row>
 
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm" style="margin-left: 5%">提交</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
+        <el-row :gutter="10" class="mb8">
+            <el-col :span="1.5">
+                <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd" v-hasPermi="['cloth:clothItem:add']">新增</el-button>
+            </el-col>
+            <el-col :span="1.5">
+                <el-button type="danger" plain icon="el-icon-delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['cloth:clothItem:remove']">删除 </el-button>
+            </el-col>
+            <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
+
+        <Page uri="/mapi/core/clothItem/list" :request-params="queryParams" ref="pagination" :selectionChange="handleSelectionChange">
+            <el-table-column type="selection" width="55" align="center" />
+            <el-table-column label="编号" align="center" prop="id" />
+            <el-table-column label="衣服名称" align="center" prop="name" />
+            <el-table-column label="衣服类型" align="center" prop="typeName" />
+            <el-table-column label="单位" align="center" prop="unit" />
+            <el-table-column label="是否改变价格" align="center" prop="isChangePrice">
+                <template slot-scope="scope">
+                    <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isChangePrice" />
+                </template>
+            </el-table-column>
+            <el-table-column label="是否按面积计算" align="center" prop="isCalArea">
+                <template slot-scope="scope">
+                    <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isCalArea" />
+                </template>
+            </el-table-column>
+            <el-table-column label="是否特殊产品" align="center" prop="isSpecial">
+                <template slot-scope="scope">
+                    <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isSpecial" />
+                </template>
+            </el-table-column>
+            <el-table-column label="显示顺序" align="center" prop="sort" />
+            <el-table-column label="启用状态" align="center" prop="status">
+                <template slot-scope="scope">
+                    <el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
+                </template>
+            </el-table-column>
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="220">
+                <template slot-scope="scope">
+                    <el-button type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['cloth:clothItem:edit']">修改</el-button>
+                    <el-button type="text" icon="el-icon-s-shop" @click="handlePriceUpdate(scope.row)" v-hasPermi="['cloth:price:list']">设置价格</el-button>
+                    <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['cloth:clothItem:remove']">删除</el-button>
+                </template>
+            </el-table-column>
+        </Page>
+
+        <!-- 添加或修改衣服对话框 -->
+        <el-dialog :title="title" :visible.sync="open" size="50%" append-to-body>
+            <el-row :gutter="15">
+                <el-form ref="form" :model="form" :rules="rules" size="medium" label-width="120px">
+                    <el-col :span="12">
+                        <el-form-item label="衣服名称" prop="name">
+                            <el-input v-model="form.name" placeholder="请输入衣服名称" :style="{ width: '100%' }" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="单位" prop="unit">
+                            <el-input v-model="form.unit" placeholder="请输入单位" :style="{ width: '100%' }" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="衣服分类" prop="typeId">
+                            <el-select v-model="form.typeId" placeholder="请选择衣服分类" :style="{ width: '100%' }">
+                                <el-option v-for="item in clothTypeList" :label="item.name" :value="item.id" :key="item.name"> </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="洗衣方式" prop="washId">
+                            <el-select v-model="form.washId" placeholder="洗衣方式" :style="{ width: '100%' }">
+                                <el-option v-for="item in washModeList" :label="item.name" :value="item.id" :key="item.name"> </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+
+                    <el-col :span="12">
+                        <el-form-item label="是否改变价格" prop="isChangePrice">
+                            <el-radio-group v-model="form.isChangePrice" size="small">
+                                <el-radio-button v-for="dict in dict.type.sys_yes_no" :label="dict.value">{{ dict.label }}</el-radio-button>
+                            </el-radio-group>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否面积计算" prop="isCalArea">
+                            <el-radio-group v-model="form.isCalArea" size="small">
+                                <el-radio-button v-for="dict in dict.type.sys_yes_no" :label="dict.value">{{ dict.label }}</el-radio-button>
+                            </el-radio-group>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否特殊产品" prop="isSpecial">
+                            <el-radio-group v-model="form.isSpecial" size="small">
+                                <el-radio-button v-for="dict in dict.type.sys_yes_no" :label="dict.value">{{ dict.label }}</el-radio-button>
+                            </el-radio-group>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                        <el-form-item label="图片" prop="imgUrl">
+                            <image-upload v-model="form.imgUrl" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                        <el-form-item label="描述" prop="content">
+                            <editor v-model="form.content" :min-height="192" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                        <el-form-item label="显示顺序" prop="sort">
+                            <el-input-number v-model="form.sort" placeholder="请输入显示顺序(升序排列显示)" :min="0" :step-strictly="true" :style="{ width: '100%' }"> </el-input-number>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                        <el-form-item label="状态" prop="status">
+                            <el-radio-group v-model="form.status" size="small">
+                                <el-radio-button v-for="dict in dict.type.sys_normal_disable" :label="dict.value">{{ dict.label }}</el-radio-button>
+                            </el-radio-group>
+                        </el-form-item>
+                    </el-col>
+                </el-form>
+            </el-row>
+
+            <div slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="submitForm" style="margin-left: 5%">提交</el-button>
+                <el-button @click="cancel">取 消</el-button>
+            </div>
+        </el-dialog>
+    </div>
 </template>
 
 <script>
-import {
-  listClothItem,
-  getClothItem,
-  delClothItem,
-  addClothItem,
-  updateClothItem,
-  changeClothItemStatus
-} from "@/api/core/clothItem";
-import {
-  listType
-} from "@/api/core/clothType";
-import {
-  listWashMode
-} from "@/api/core/washMode";
+import { listClothItem, getClothItem, delClothItem, addClothItem, updateClothItem, changeClothItemStatus } from '@/api/core/clothItem'
+import { listType } from '@/api/core/clothType'
+import { listWashMode } from '@/api/core/washMode'
 
 export default {
-  name: "ClothItem",
-  dicts: ['sys_yes_no', 'sys_normal_disable'],
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 衣服表格数据
-      clothItemList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        name: null,
-        typeId: null,
-        washId: null,
-        unit: null,
-        isChangePrice: null,
-        isCalArea: null,
-        isSpecial: null,
-        imgUrl: null,
-        content: null,
-        sort: null,
-        status: null,
-      },
-      // 表单参数
-      form: {
-        isChangePrice: "1",
-        isCalArea: "1",
-        isSpecial: "1"
-      },
-      // 表单校验
-      rules: {
-        name: [
-          { required: true, message: "衣服名称不能为空", trigger: "blur" }
-        ],
-        typeId: [
-          { required: true, message: "衣服类型id不能为空", trigger: "blur" }
-        ],
-        washId: [
-          { required: true, message: "洗衣方式id不能为空", trigger: "blur" }
-        ],
-        unit: [
-          { required: true, message: "单位不能为空", trigger: "blur" }
-        ],
-        isChangePrice: [
-          { required: true, message: "是否改变价格不能为空", trigger: "blur" }
-        ],
-        isCalArea: [
-          { required: true, message: "是否按面积计算不能为空", trigger: "blur" }
-        ],
-        isSpecial: [
-          { required: true, message: "是否特殊产品不能为空", trigger: "blur" }
-        ],
-        imgUrl: [
-          { required: true, message: "衣服图片不能为空", trigger: "blur" }
-        ],
-        content: [
-          { required: true, message: "描述不能为空", trigger: "blur" }
-        ],
-        sort: [
-          { required: true, message: "显示顺序不能为空", trigger: "blur" }
-        ],
-      },
-      clothTypeList: [],
-      washModeList: [],
-      isChangePrices: [{
-        "label": "是",
-        "value": '0'
-      }, {
-        "label": "否",
-        "value": '1'
-      }],
-      isCalAreas: [{
-        "label": "是",
-        "value": '0'
-      }, {
-        "label": "否",
-        "value": '1'
-      }],
-      isSpecials: [{
-        "label": "是",
-        "value": '0'
-      }, {
-        "label": "否",
-        "value": '1'
-      }],
-    };
-  },
-  created() {
-    this.getClothTypeList();
-    this.getWashModeList();
-    this.getList();
-  },
-  methods: {
-    /** 获取衣服类型 */
-    getClothTypeList() {
-      listType({ pageSize: 9999, pageNum: 1 }).then(response => {
-        this.clothTypeList = response.rows;
-      });
-    },
-    /** 获取洗衣方式 */
-    getWashModeList() {
-      listWashMode({ status: '0' }).then(response => {
-        this.washModeList = response.rows;
-      });
-    },
-    /** 查询衣服列表 */
-    getList() {
-      this.$nextTick(() => {
-        this.$refs.pagination.handleSearch(true)
-      })
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        id: null,
-        name: null,
-        typeId: null,
-        washId: null,
-        unit: null,
-        isChangePrice: "1",
-        isCalArea: "1",
-        isSpecial: "1",
-        imgUrl: null,
-        content: null,
-        sort: null,
-        status: "0",
-        delFlag: 0,
-        createBy: null,
-        createById: null,
-        createTime: null,
-        updateBy: null,
-        updateById: null,
-        updateTime: null,
-        remark: null
-      };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      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
-      console.log(this.ids);
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加衣服";
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const id = row.id || this.ids
-      getClothItem(id).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改衣服";
-      });
-    },
-    /** 设置价格 */
-    handlePriceUpdate(row) {
-      this.$tab.openPage(row.name + "的价格", '/cloth/setPrice/' + row.id);
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.id != null) {
-            updateClothItem(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addClothItem(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
+    name: 'ClothItem',
+    dicts: ['sys_yes_no', 'sys_normal_disable'],
+    data() {
+        return {
+            // 遮罩层
+            loading: true,
+            // 选中数组
+            ids: [],
+            // 非单个禁用
+            single: true,
+            // 非多个禁用
+            multiple: true,
+            // 显示搜索条件
+            showSearch: true,
+            // 总条数
+            total: 0,
+            // 衣服表格数据
+            clothItemList: [],
+            // 弹出层标题
+            title: '',
+            // 是否显示弹出层
+            open: false,
+            // 查询参数
+            queryParams: {
+                name: null,
+                typeId: null,
+                washId: null,
+                unit: null,
+                isChangePrice: null,
+                isCalArea: null,
+                isSpecial: null,
+                imgUrl: null,
+                content: null,
+                sort: null,
+                status: null
+            },
+            // 表单参数
+            form: {
+                isChangePrice: '1',
+                isCalArea: '1',
+                isSpecial: '1'
+            },
+            // 表单校验
+            rules: {
+                name: [{ required: true, message: '衣服名称不能为空', trigger: 'blur' }],
+                typeId: [{ required: true, message: '衣服类型id不能为空', trigger: 'blur' }],
+                washId: [{ required: true, message: '洗衣方式id不能为空', trigger: 'blur' }],
+                unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }],
+                isChangePrice: [{ required: true, message: '是否改变价格不能为空', trigger: 'blur' }],
+                isCalArea: [{ required: true, message: '是否按面积计算不能为空', trigger: 'blur' }],
+                isSpecial: [{ required: true, message: '是否特殊产品不能为空', trigger: 'blur' }],
+                imgUrl: [{ required: true, message: '衣服图片不能为空', trigger: 'blur' }],
+                content: [{ required: true, message: '描述不能为空', trigger: 'blur' }],
+                sort: [{ required: true, message: '显示顺序不能为空', trigger: 'blur' }]
+            },
+            clothTypeList: [],
+            washModeList: [],
+            isChangePrices: [
+                {
+                    label: '是',
+                    value: '0'
+                },
+                {
+                    label: '否',
+                    value: '1'
+                }
+            ],
+            isCalAreas: [
+                {
+                    label: '是',
+                    value: '0'
+                },
+                {
+                    label: '否',
+                    value: '1'
+                }
+            ],
+            isSpecials: [
+                {
+                    label: '是',
+                    value: '0'
+                },
+                {
+                    label: '否',
+                    value: '1'
+                }
+            ]
         }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除衣服编号为"' + ids + '"的数据项?').then(function () {
-        return delClothItem(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => { });
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('mapi/core/clothItem/export', {
-        ...this.queryParams
-      }, `clothItem_${new Date().getTime()}.xlsx`)
-    },
-    checkClose(done) {
-      this.$confirm('是否关闭表单,关闭后数据将丢失?').then(function () {
-        done()
-      }).then(() => { }).catch(() => { });
+    created() {
+        this.getClothTypeList()
+        this.getWashModeList()
+        this.getList()
     },
+    methods: {
+        /** 获取衣服类型 */
+        getClothTypeList() {
+            listType({ pageSize: 9999, pageNum: 1 }).then((response) => {
+                this.clothTypeList = response.rows
+            })
+        },
+        /** 获取洗衣方式 */
+        getWashModeList() {
+            listWashMode({ status: '0' }).then((response) => {
+                this.washModeList = response.rows
+            })
+        },
+        /** 查询衣服列表 */
+        getList() {
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
+            })
+        },
+        // 取消按钮
+        cancel() {
+            this.open = false
+            this.reset()
+        },
+        // 表单重置
+        reset() {
+            this.form = {
+                id: null,
+                name: null,
+                typeId: null,
+                washId: null,
+                unit: null,
+                isChangePrice: '1',
+                isCalArea: '1',
+                isSpecial: '1',
+                imgUrl: null,
+                content: null,
+                sort: null,
+                status: '0',
+                delFlag: 0,
+                createBy: null,
+                createById: null,
+                createTime: null,
+                updateBy: null,
+                updateById: null,
+                updateTime: null,
+                remark: null
+            }
+            this.resetForm('form')
+        },
+        /** 搜索按钮操作 */
+        handleQuery() {
+            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
+            console.log(this.ids)
+        },
+        /** 新增按钮操作 */
+        handleAdd() {
+            this.reset()
+            this.open = true
+            this.title = '添加衣服'
+        },
+        /** 修改按钮操作 */
+        handleUpdate(row) {
+            this.reset()
+            const id = row.id || this.ids
+            getClothItem(id).then((response) => {
+                this.form = response.data
+                this.open = true
+                this.title = '修改衣服'
+            })
+        },
+        /** 设置价格 */
+        handlePriceUpdate(row) {
+            this.$tab.openPage(row.name + '的价格', '/cloth/setPrice/' + row.id)
+        },
+        /** 提交按钮 */
+        submitForm() {
+            this.$refs['form'].validate((valid) => {
+                if (valid) {
+                    if (this.form.id != null) {
+                        updateClothItem(this.form).then((response) => {
+                            this.$modal.msgSuccess('修改成功')
+                            this.open = false
+                            this.getList()
+                        })
+                    } else {
+                        addClothItem(this.form).then((response) => {
+                            this.$modal.msgSuccess('新增成功')
+                            this.open = false
+                            this.getList()
+                        })
+                    }
+                }
+            })
+        },
+        /** 删除按钮操作 */
+        handleDelete(row) {
+            const ids = row.id || this.ids
+            this.$modal
+                .confirm('是否确认删除衣服编号为"' + ids + '"的数据项?')
+                .then(function () {
+                    return delClothItem(ids)
+                })
+                .then(() => {
+                    this.getList()
+                    this.$modal.msgSuccess('删除成功')
+                })
+                .catch(() => {})
+        },
+        /** 导出按钮操作 */
+        handleExport() {
+            this.download(
+                'mapi/core/clothItem/export',
+                {
+                    ...this.queryParams
+                },
+                `clothItem_${new Date().getTime()}.xlsx`
+            )
+        },
+        checkClose(done) {
+            this.$confirm('是否关闭表单,关闭后数据将丢失?')
+                .then(function () {
+                    done()
+                })
+                .then(() => {})
+                .catch(() => {})
+        },
 
-    // 衣服状态修改
-    handleStatusChange(row) {
-      let text = row.status === "0" ? "启用" : "停用";
-      this.$modal.confirm('确认要' + text + ' ' + row.name + ' 吗?').then(function () {
-        return changeClothItemStatus(row.id, row.status);
-      }).then(() => {
-        this.$modal.msgSuccess(text + "成功");
-      }).catch(function () {
-        row.status = row.status === "0" ? "1" : "0";
-      });
-    },
-  }
-};
+        // 衣服状态修改
+        handleStatusChange(row) {
+            let text = row.status === '0' ? '启用' : '停用'
+            this.$modal
+                .confirm('确认要' + text + ' ' + row.name + ' 吗?')
+                .then(function () {
+                    return changeClothItemStatus(row.id, row.status)
+                })
+                .then(() => {
+                    this.$modal.msgSuccess(text + '成功')
+                })
+                .catch(function () {
+                    row.status = row.status === '0' ? '1' : '0'
+                })
+        }
+    }
+}
 </script>

+ 75 - 68
src/views/cloth/unitPrice/index.vue

@@ -1,68 +1,59 @@
 <template>
     <div class="app-container">
-        <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="衣服名称" prop="name">
-                <el-input v-model="queryParams.name" placeholder="请输入衣服名称" clearable @keyup.enter.native="handleQuery" />
-            </el-form-item>
-            <el-form-item label="区域" prop="storeAreaId">
-                <el-select v-model="queryParams.storeAreaId" placeholder="请选择区域" clearable @change="handleQuery" filterable>
-                    <el-option v-for="(item, index) in areaList" :key="index" :label="item.name" :value="item.id" />
-                </el-select>
-            </el-form-item>
-            <el-form-item>
-                <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
-                <el-button icon="el-icon-refresh" @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-document-copy" @click="handleCopy">复制区域</el-button>
+        <el-row :gutter="20">
+            <!--部门数据-->
+            <el-col :span="2" :xs="24" style="margin-top: 150px">
+                <div class="head-container">
+                    <el-tabs v-model="checkClothType" @tab-click="handleQuery" tab-position="left">
+                        <el-tab-pane v-for="item in clothTypeList" :label="item.name" :name="item.id + ''"></el-tab-pane>
+                    </el-tabs>
+                </div>
             </el-col>
-            <!-- <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['cloth:brand:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['cloth:brand:remove']"
-        >删除</el-button>
-      </el-col> -->
-            <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-        </el-row>
+            <el-col :span="22" :xs="24">
+                <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+                    <el-form-item prop="checkStoreAreaId">
+                        <el-tabs v-model="checkStoreAreaId" @tab-click="handleQuery">
+                            <el-tab-pane v-for="item in areaList" :label="item.name" :name="item.id + ''"></el-tab-pane>
+                        </el-tabs>
+                        <!--                <el-select v-model="queryParams.storeAreaId" placeholder="请选择区域" clearable @change="handleQuery" filterable>-->
+                        <!--                    <el-option v-for="(item, index) in areaList" :key="index" :label="item.name" :value="item.id" />-->
+                        <!--                </el-select>-->
+                    </el-form-item>
+                    <div></div>
+                    <el-form-item prop="name">
+                        <el-input v-model="queryParams.name" placeholder="请输入衣服名称" clearable @keyup.enter.native="handleQuery" />
+                    </el-form-item>
 
-        <el-table v-loading="loading" fit highlight-current-row border stripe :data="unitPriceList">
-            <el-table-column label="衣服ID" align="center" prop="clothId" />
-            <el-table-column label="衣服名称" align="center" prop="name" />
-            <el-table-column label="价格" align="center" prop="price">
-                <template slot-scope="scope">
-                    {{ scope.row.price ? scope.row.price : '未设置价格' }}
-                </template>
-            </el-table-column>
-            <el-table-column label="区域" align="center" prop="areaName" />
+                    <el-form-item>
+                        <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
+                        <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
+                    </el-form-item>
+                </el-form>
 
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="120">
-                <template slot-scope="scope">
-                    <el-button type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">设置</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
+                <!--        <el-row :gutter="10" class="mb8">-->
+                <!--          <el-button type="primary" plain icon="el-icon-document-copy" @click="handleCopy">复制区域</el-button>-->
 
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
+                <!--            -->
+                <!--        </el-row>-->
+                <!--                <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
+                <Page uri="/mapi/cloth/price/getClothPriceListByClothType" :request-params="queryParams" ref="pagination">
+                    <el-table-column label="区域" align="center" prop="areaName" />
+                    <el-table-column label="衣服ID" align="center" prop="clothId" />
+                    <el-table-column label="衣服名称" align="center" prop="name" />
+                    <el-table-column label="价格" align="center" prop="price">
+                        <template slot-scope="scope">
+                            {{ scope.row.price ? scope.row.price : '未设置价格' }}
+                        </template>
+                    </el-table-column>
 
+                    <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="120">
+                        <template slot-scope="scope">
+                            <el-button type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">设置</el-button>
+                        </template>
+                    </el-table-column>
+                </Page>
+            </el-col>
+        </el-row>
         <!--  设置价格  -->
         <el-dialog title="设置价格" :visible.sync="unitPriceType" width="30%" :before-close="handleClose">
             <form ref="unitpriceForm">
@@ -129,14 +120,16 @@ export default {
             clothType: null,
             // 单价表格数据
             unitPriceList: [],
+            checkStoreAreaId: '1',
+            checkClothType: '1',
             // 弹出层标题
             title: '',
             // 是否显示弹出层
             open: false,
             // 查询参数
             queryParams: {
-                pageNum: 1,
-                pageSize: 10,
+                clothType: null,
+                storeAreaId: null,
                 name: null
             },
             // 表单参数
@@ -148,24 +141,39 @@ export default {
                 multiple: [{ required: true, message: '清填写价格倍数', trigger: 'blur' }]
             },
             areaList: [],
+            clothTypeList: [
+                {
+                    id: '1',
+                    name: '加厚类型'
+                },
+                {
+                    id: '2',
+                    name: '羊绒类型'
+                },
+                {
+                    id: '3',
+                    name: '真丝类型'
+                },
+                {
+                    id: '4',
+                    name: '儿童类型'
+                }
+            ],
             unitPriceType: false,
             unitpriceForm: {}
         }
     },
     created() {
-        this.clothType = this.getUrlParam('clothType')
         this.getAreaList()
         this.getList()
     },
     methods: {
         /** 查询衣服品牌列表 */
         getList() {
-            this.loading = true
-            getClothPriceListByClothType({ ...this.queryParams, ...{ clothType: this.clothType } }).then((response) => {
-                console.log(response)
-                this.unitPriceList = response.data.records
-                this.total = response.data.total
-                this.loading = false
+            this.queryParams.storeAreaId = parseInt(this.checkStoreAreaId)
+            this.queryParams.clothType = parseInt(this.checkClothType)
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
             })
         },
         getAreaList() {
@@ -189,7 +197,6 @@ export default {
         },
         /** 搜索按钮操作 */
         handleQuery() {
-            this.queryParams.pageNum = 1
             this.getList()
         },
         /** 重置按钮操作 */