Просмотр исходного кода

Merge branch 'master' of http://101.37.21.97:3000/wash/wash_admin_ui

吕海超 9 месяцев назад
Родитель
Сommit
9a01c78bfa

+ 2 - 2
src/api/core/goodsComment.js

@@ -30,7 +30,7 @@ export function addGoodsComment(data) {
 export function updateGoodsComment(data) {
   return request({
     url: '/mapi/goods/goodsComment/updateComment',
-    method: 'put',
+    method: 'POST',
     data: data
   })
 }
@@ -108,4 +108,4 @@ export function getQueryCommentReply(data) {
       method: 'post',
       data: data
   })
-}
+}

+ 27 - 0
src/api/settlement/factoryRate.js

@@ -0,0 +1,27 @@
+import request from '@/utils/request'
+
+// 查询结算费率详情
+export function getFactoryRateInfo(id) {
+  return request({
+    url: '/mapi/settlement/factory/rate/' + id,
+    method: 'get'
+  })
+}
+
+// 新增保存
+export function saveFactoryRate(data) {
+  return request({
+    url: '/mapi/settlement/factory/rate',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改保存
+export function updateFactoryRate(data) {
+  return request({
+    url: '/mapi/settlement/factory/rate',
+    method: 'put',
+    data: data
+  })
+}

+ 27 - 0
src/api/settlement/storeRate.js

@@ -0,0 +1,27 @@
+import request from '@/utils/request'
+
+// 查询门店结算费率详情
+export function getStoreRateInfo(id) {
+  return request({
+    url: '/mapi/settlement/store/rate/' + id,
+    method: 'get'
+  })
+}
+
+// 新增保存
+export function saveStoreRate(data) {
+  return request({
+    url: '/mapi/settlement/store/rate',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改保存
+export function updateStoreRate(data) {
+  return request({
+    url: '/mapi/settlement/store/rate',
+    method: 'put',
+    data: data
+  })
+}

+ 3 - 4
src/views/activity/clothItem/index.vue

@@ -54,13 +54,13 @@
                             </el-select>
                         </el-form-item>
                     </el-col>
-                    <el-col :span="24">
+                    <!-- <el-col :span="24">
                         <el-form-item label="洗衣类型" prop="washModeIds">
                             <el-select v-model="washModeIds" filterable placeholder="洗衣类型" clearable multiple>
                                 <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> -->
                     <!--                    <el-col :span="24">-->
                     <!--                        <el-form-item label="指定价格(元)" prop="price">-->
                     <!--                            <el-input-number v-model="form.price" placeholder="请输入指定价格" :precision="2" :min="0" :max="999999" />-->
@@ -119,8 +119,7 @@ export default {
             // 表单校验
             rules: {
                 clothItemId: [{ required: true, message: '衣服ID不能为空', trigger: 'change' }],
-                price: [{ required: true, message: '指定价格不能为空', trigger: 'blur' }],
-                washModeId: [{ required: true, message: '洗衣类型ID不能为空', trigger: 'change' }]
+                price: [{ required: true, message: '指定价格不能为空', trigger: 'blur' }]
             },
             activityId: null,
             clothItemList: [],

+ 5 - 5
src/views/activity/couponInfo/index.vue

@@ -18,7 +18,7 @@
         </el-row>
 
         <Page uri="/mapi/activity/couponInfo/list" :request-params="queryParams" ref="pagination">
-            <el-table-column label="号" align="center" prop="id" width="80" />
+            <el-table-column label="号" align="center" prop="id" width="80" />
             <el-table-column label="标题" align="center" prop="title" :show-overflow-tooltip="true" />
             <el-table-column label="描述" align="center" prop="description" :show-overflow-tooltip="true" />
             <el-table-column label="宣传图片" align="center" prop="imgUrl" width="100">
@@ -58,7 +58,7 @@
                     <dict-tag :options="dict.type.coupon_use_range" :value="scope.row.storeScope" />
                 </template>
             </el-table-column>
-            <el-table-column label="展示在app购买页" align="center" prop="isShowAppBuyPage" width="100">
+            <!-- <el-table-column label="展示在app购买页" align="center" prop="isShowAppBuyPage" width="100">
                 <template slot-scope="scope">
                     <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isShowAppBuyPage" />
                 </template>
@@ -72,7 +72,7 @@
                 <template slot-scope="scope">
                     <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isShowWxBuyPageFromQrcode" />
                 </template>
-            </el-table-column>
+            </el-table-column> -->
 
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150">
                 <template slot-scope="scope">
@@ -154,7 +154,7 @@
                             </el-radio-group>
                         </el-form-item>
                     </el-col>
-                    <el-col :span="8">
+                    <!-- <el-col :span="8">
                         <el-form-item label="展示在app购买页" prop="isShowAppBuyPage">
                             <el-radio-group v-model="form.isShowAppBuyPage">
                                 <el-radio-button v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio-button>
@@ -174,7 +174,7 @@
                                 <el-radio-button v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio-button>
                             </el-radio-group>
                         </el-form-item>
-                    </el-col>
+                    </el-col> -->
 
                     <!--                    <el-col :span="8">-->
                     <!--                        <el-form-item label="优惠券来源" prop="couponFrom">-->

+ 5 - 0
src/views/app/banner/index.vue

@@ -109,6 +109,11 @@
                             <editor v-model="form.redirectContent" :min-height="192" />
                         </el-form-item>
                     </el-col>
+                  <el-col :span="24" v-if="form.clickType == '3'">
+                    <el-form-item label="跳转内容" prop="redirectContent">
+                      <el-input v-model="form.redirectContent" placeholder="请输入内部页面路径" />
+                    </el-form-item>
+                  </el-col>
                     <el-col :span="24">
                         <el-form-item label="状态" prop="status">
                             <el-radio-group v-model="form.status" size="small">

+ 564 - 513
src/views/goods/goodsComment/index.vue

@@ -1,547 +1,598 @@
 <template>
-    <div class="app-container">
-        <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item prop="goodsId">
-                <el-select v-model="queryParams.goodsId" placeholder="请选择商品" clearable @change="handleQuery" filterable>
-                    <el-option v-for="(item, index) in goodsList" :key="index" :label="item.goodsName" :value="item.id" />
-                </el-select>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item prop="goodsId">
+        <el-select v-model="queryParams.goodsId" placeholder="请选择商品" clearable @change="handleQuery" filterable>
+          <el-option v-for="(item, index) in goodsList" :key="index" :label="item.goodsName" :value="item.id" />
+        </el-select>
+      </el-form-item>
+      <el-form-item prop="phoneNumber" label-width="120">
+        <el-input style="width: 150px" v-model="queryParams.phoneNumber" placeholder="请输入客户手机号" clearable
+                  @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item>
+        <el-date-picker style="width: 250px" clearable v-model="queryCreateTime" type="daterange"
+                        value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期"
+                        end-placeholder="结束日期" @change="getCreateTime"></el-date-picker>
+      </el-form-item>
+      <el-form-item label="是否显示评论" prop="isShow" label-width="120">
+        <el-radio-group v-model="queryParams.isShow">
+          <el-radio-button label="Y">是</el-radio-button>
+          <el-radio-button label="N">否</el-radio-button>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="是否虚拟评论" prop="isVirtual" label-width="120">
+        <el-radio-group v-model="queryParams.isVirtual">
+          <el-radio-button label="Y">是</el-radio-button>
+          <el-radio-button label="N">否</el-radio-button>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="评分类型" prop="commentType">
+        <el-radio-group v-model="queryParams.commentType">
+          <el-radio-button label="0">好评</el-radio-button>
+          <el-radio-button label="1">差评</el-radio-button>
+        </el-radio-group>
+      </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="['goods:goodsComment:add']">
+          新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button plain @click="handleShow">显示评论</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button plain @click="handleNoShow">隐藏评论</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <Page uri="/mapi/goods/goodsComment/list" :request-params="queryParams" ref="pagination" :selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" fixed="left" />
+      <el-table-column label="订单编号" align="center" prop="orderId" width="120" />
+      <el-table-column label="关联商品" align="left" prop="skulist">
+        <template slot-scope="scope">
+          <div v-for="(sku_n, sku_i) in scope.row.skuList" :key="sku_i">
+            <span style="color: #000">{{ sku_n.goodsName }}:</span>{{ sku_n.skuName }}
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column label="评分" align="center" prop="commentScore" width="80" />
+      <el-table-column label="评分类型 " align="center" prop="commentType" width="80">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.commentType == '0'" type="success">好评</el-tag>
+          <el-tag v-if="scope.row.commentType == '1'" type="danger">差评</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="评论文案" align="center" prop="commentContent" show-overflow-tooltip />
+      <el-table-column label="评论图片" align="center" prop="commentImgs">
+        <template slot-scope="scope">
+          <el-image v-for="(item, index) in getimgList(scope.row.commentImgs)" :key="index"
+                    style="width: 50px; height: 50px" :src="item"
+                    :preview-src-list="getimgList(scope.row.commentImgs)"></el-image>
+          <!-- <image-preview :src="scope.row.commentImgs" :width="50" :height="50"/> -->
+        </template>
+      </el-table-column>
+      <el-table-column label="评论来源" align="center" prop="commentSrcType" width="120" />
+      <el-table-column label="是否显示评论" align="center" prop="isShow" width="120">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.isShow == 'Y'">是</el-tag>
+          <el-tag v-if="scope.row.isShow == 'N'" type="warning">否</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="是否虚拟评论" align="center" prop="isVirtual" width="120">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.isVirtual == 'Y'">是</el-tag>
+          <el-tag v-if="scope.row.isVirtual == 'N'" type="warning">否</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="220">
+        <template slot-scope="scope">
+          <el-button type="text" icon="el-icon-edit" @click="editreplyComment(scope.row)"
+                     v-if="scope.row.isVirtual == 'Y'">评论编辑
+          </el-button>
+          <el-button type="text" @click="handleShow2(scope.row)" v-if="scope.row.isShow == 'N'">显示评论</el-button>
+          <el-button type="text" @click="handleNoShow2(scope.row)" v-if="scope.row.isShow == 'Y'">隐藏评论</el-button>
+          <el-button type="text" icon="el-icon-edit" @click="replyComment(scope.row)">评论回复</el-button>
+          <el-button type="text" icon="el-icon-tickets" @click="showReplyComment(scope.row)">查看回复</el-button>
+        </template>
+      </el-table-column>
+    </Page>
+
+    <!-- 添加或修改商品评论对话框 -->
+    <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
+      <el-row :gutter="15">
+        <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+          <el-col :span="24">
+            <el-form-item label="商品" prop="goodsId">
+              <el-select v-model="form.goodsId" placeholder="请选择商品" clearable @change="getSkuList(form.goodsId)"
+                         :disabled="form.id ? true : false" filterable>
+                <el-option v-for="(item, index) in goodsList" :key="index" :label="item.goodsName" :value="item.id" />
+              </el-select>
             </el-form-item>
-            <el-form-item prop="phoneNumber" label-width="120">
-                <el-input style="width: 150px" v-model="queryParams.phoneNumber" placeholder="请输入客户手机号" clearable @keyup.enter.native="handleQuery" />
+            <el-form-item label="物料" prop="goodsSkuId">
+              <el-select v-model="form.goodsSkuId" placeholder="请选择物料" clearable :disabled="form.id ? true : false"
+                         filterable>
+                <el-option v-for="(item, index) in skuList" :key="index" :label="item.goodsSkuName"
+                           :value="item.goodsSkuId" />
+              </el-select>
             </el-form-item>
-            <el-form-item>
-                <el-date-picker style="width: 250px" clearable v-model="queryCreateTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="getCreateTime"> </el-date-picker>
+            <el-form-item label="评分1-5分" prop="commentScore">
+              <el-input-number v-model="form.commentScore" :min="1" :max="5" :step="1" />
             </el-form-item>
-            <el-form-item label="是否显示评论" prop="isShow" label-width="120">
-                <el-radio-group v-model="queryParams.isShow">
-                    <el-radio-button label="Y">是</el-radio-button>
-                    <el-radio-button label="N">否</el-radio-button>
-                </el-radio-group>
+            <el-form-item label="评分类型 " prop="commentType">
+              <el-radio-group v-model="form.commentType">
+                <el-radio-button label="0">好评</el-radio-button>
+                <el-radio-button label="1">差评</el-radio-button>
+              </el-radio-group>
             </el-form-item>
-            <el-form-item label="是否虚拟评论" prop="isVirtual" label-width="120">
-                <el-radio-group v-model="queryParams.isVirtual">
-                    <el-radio-button label="Y">是</el-radio-button>
-                    <el-radio-button label="N">否</el-radio-button>
-                </el-radio-group>
+            <el-form-item label="评论文案" prop="commentContent">
+              <el-input v-model="form.commentContent" type="textarea" placeholder="请输入评论文案" :rows="5"
+                        maxlength="255" show-word-limit />
             </el-form-item>
-            <el-form-item label="评分类型" prop="commentType">
-                <el-radio-group v-model="queryParams.commentType">
-                    <el-radio-button label="0">好评</el-radio-button>
-                    <el-radio-button label="1">差评</el-radio-button>
-                </el-radio-group>
+            <el-form-item label="评论图片">
+              <image-upload v-model="form.commentImgs" :limit="9" />
             </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 label="是否显示" prop="isShow">
+              <el-radio-group v-model="form.isShow">
+                <el-radio-button label="Y">是</el-radio-button>
+                <el-radio-button label="N">否</el-radio-button>
+              </el-radio-group>
             </el-form-item>
+          </el-col>
         </el-form>
+      </el-row>
 
-        <el-row :gutter="10" class="mb8">
-            <el-col :span="1.5">
-                <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd" v-hasPermi="['goods:goodsComment:add']">新增</el-button>
-            </el-col>
-            <el-col :span="1.5">
-                <el-button plain @click="handleShow">显示评论</el-button>
-            </el-col>
-            <el-col :span="1.5">
-                <el-button plain @click="handleNoShow">隐藏评论</el-button>
-            </el-col>
-            <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-        </el-row>
-
-        <Page uri="/mapi/goods/goodsComment/list" :request-params="queryParams" ref="pagination">
-            <el-table-column type="selection" width="55" align="center" fixed="left" />
-            <el-table-column label="订单编号" align="center" prop="orderId" width="120" />
-            <el-table-column label="关联商品" align="left" prop="skulist">
-                <template slot-scope="scope">
-                    <div v-for="(sku_n, sku_i) in scope.row.skuList" :key="sku_i">
-                        <span style="color: #000">{{ sku_n.goodsName }}:</span>{{ sku_n.skuName }}
-                    </div>
-                </template>
-            </el-table-column>
-            <el-table-column label="评分" align="center" prop="commentScore" width="80" />
-            <el-table-column label="评分类型 " align="center" prop="commentType" width="80">
-                <template slot-scope="scope">
-                    <el-tag v-if="scope.row.commentType == '0'" type="success">好评</el-tag>
-                    <el-tag v-if="scope.row.commentType == '1'" type="danger">差评</el-tag>
-                </template>
-            </el-table-column>
-            <el-table-column label="评论文案" align="center" prop="commentContent" show-overflow-tooltip />
-            <el-table-column label="评论图片" align="center" prop="commentImgs">
-                <template slot-scope="scope">
-                    <el-image v-for="(item, index) in getimgList(scope.row.commentImgs)" :key="index" style="width: 50px; height: 50px" :src="item" :preview-src-list="getimgList(scope.row.commentImgs)"> </el-image>
-                    <!-- <image-preview :src="scope.row.commentImgs" :width="50" :height="50"/> -->
-                </template>
-            </el-table-column>
-            <el-table-column label="评论来源" align="center" prop="commentSrcType" width="120" />
-            <el-table-column label="是否显示评论" align="center" prop="isShow" width="120">
-                <template slot-scope="scope">
-                    <el-tag v-if="scope.row.isShow == 'Y'">是</el-tag>
-                    <el-tag v-if="scope.row.isShow == 'N'" type="warning">否</el-tag>
-                </template>
-            </el-table-column>
-            <el-table-column label="是否虚拟评论" align="center" prop="isVirtual" width="120">
-                <template slot-scope="scope">
-                    <el-tag v-if="scope.row.isVirtual == 'Y'">是</el-tag>
-                    <el-tag v-if="scope.row.isVirtual == 'N'" type="warning">否</el-tag>
-                </template>
-            </el-table-column>
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="220">
-                <template slot-scope="scope">
-                    <el-button type="text" icon="el-icon-edit" @click="editreplyComment(scope.row)" v-if="scope.row.isVirtual == 'Y'">评论编辑</el-button>
-                    <el-button type="text" @click="handleShow2(scope.row)" v-if="scope.row.isShow == 'N'">显示评论</el-button>
-                    <el-button type="text" @click="handleNoShow2(scope.row)" v-if="scope.row.isShow == 'Y'">隐藏评论</el-button>
-                    <el-button type="text" icon="el-icon-edit" @click="replyComment(scope.row)">评论回复</el-button>
-                    <el-button type="text" icon="el-icon-tickets" @click="showReplyComment(scope.row)">查看回复</el-button>
-                </template>
-            </el-table-column>
-        </Page>
+      <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>
 
-        <!-- 添加或修改商品评论对话框 -->
-        <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
-            <el-row :gutter="15">
-                <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-                    <el-col :span="24">
-                        <el-form-item label="商品" prop="goodsId">
-                            <el-select v-model="form.goodsId" placeholder="请选择商品" clearable @change="getSkuList(form.goodsId)" :disabled="form.id ? true : false" filterable>
-                                <el-option v-for="(item, index) in goodsList" :key="index" :label="item.goodsName" :value="item.id" />
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="物料" prop="goodsSkuId">
-                            <el-select v-model="form.goodsSkuId" placeholder="请选择物料" clearable :disabled="form.id ? true : false" filterable>
-                                <el-option v-for="(item, index) in skuList" :key="index" :label="item.goodsSkuName" :value="item.goodsSkuId" />
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="评分1-5分" prop="commentScore">
-                            <el-input-number v-model="form.commentScore" :min="1" :max="5" :step="1" />
-                        </el-form-item>
-                        <el-form-item label="评分类型 " prop="commentType">
-                            <el-radio-group v-model="form.commentType">
-                                <el-radio-button label="0">好评</el-radio-button>
-                                <el-radio-button label="1">差评</el-radio-button>
-                            </el-radio-group>
-                        </el-form-item>
-                        <el-form-item label="评论文案" prop="commentContent">
-                            <el-input v-model="form.commentContent" type="textarea" placeholder="请输入评论文案" :rows="5" maxlength="255" show-word-limit />
-                        </el-form-item>
-                        <el-form-item label="评论图片">
-                            <image-upload v-model="form.commentImgs" :limit="9" />
-                        </el-form-item>
-                        <el-form-item label="是否显示" prop="isShow">
-                            <el-radio-group v-model="form.isShow">
-                                <el-radio-button label="Y">是</el-radio-button>
-                                <el-radio-button label="N">否</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>
-
-        <!--  评论回复  -->
-        <el-dialog :title="replayCommentTitle" :visible.sync="addreplayCommentOpen" width="30%" :before-close="handleClose">
-            <form ref="replayForm">
-                <el-input type="textarea" :rows="5" placeholder="请输入回复内容" v-model="replayForm.commentContent"> </el-input>
-            </form>
-            <span slot="footer" class="dialog-footer">
+    <!--  评论回复  -->
+    <el-dialog :title="replayCommentTitle" :visible.sync="addreplayCommentOpen" width="30%" :before-close="handleClose">
+      <form ref="replayForm">
+        <el-input type="textarea" :rows="5" placeholder="请输入回复内容" v-model="replayForm.commentContent"></el-input>
+      </form>
+      <span slot="footer" class="dialog-footer">
                 <el-button @click="addreplayCommentOpen = false">取 消</el-button>
                 <el-button type="primary" @click="addreplayCommentSubmit('replayForm')">提 交</el-button>
             </span>
-        </el-dialog>
+    </el-dialog>
 
-        <!-- 查询评论回复 -->
-        <el-dialog title="回复列表" :visible.sync="ReplyCommentType" size="45%" append-to-body>
-            <div style="padding: 20px">
-                <el-table v-loading="ReplyCommentLoading" :data="ReplyCommentList">
-                    <el-table-column label="回复角色" align="center" prop="userId" width="120">
-                        <template slot-scope="scope">
-                            {{ scope.row.userId ? '用户' : '总部' }}
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="回复来源" align="center" prop="commentSrcType" width="120" />
-                    <el-table-column label="回复文案" align="center" prop="commentContent" show-overflow-tooltip />
-                    <el-table-column label="回复时间" align="center" prop="createTime" width="180" />
-                    <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="100">
-                        <template slot-scope="scope">
-                            <el-button type="text" icon="el-icon-edit" :disabled="scope.row.userId ? true : false" @click="commentUpdate(scope.row)">修改</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
+    <!-- 查询评论回复 -->
+    <el-dialog title="回复列表" :visible.sync="ReplyCommentType" size="45%" append-to-body>
+      <div style="padding: 20px">
+        <el-table v-loading="ReplyCommentLoading" :data="ReplyCommentList">
+          <el-table-column label="回复角色" align="center" prop="userId" width="120">
+            <template slot-scope="scope">
+              {{ scope.row.userId ? '用户' : '总部' }}
+            </template>
+          </el-table-column>
+          <el-table-column label="回复来源" align="center" prop="commentSrcType" width="120" />
+          <el-table-column label="回复文案" align="center" prop="commentContent" show-overflow-tooltip />
+          <el-table-column label="回复时间" align="center" prop="createTime" width="180" />
+          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="100">
+            <template slot-scope="scope">
+              <el-button type="text" icon="el-icon-edit" :disabled="scope.row.userId ? true : false"
+                         @click="commentUpdate(scope.row)">修改
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
 
-                <pagination v-show="ReplyCommenttotal > 0" :total="ReplyCommenttotal" :page.sync="queryCommentReply.pageNum" :limit.sync="queryCommentReply.pageSize" @pagination="getReplyCommentList" />
-            </div>
+        <pagination v-show="ReplyCommenttotal > 0" :total="ReplyCommenttotal" :page.sync="queryCommentReply.pageNum"
+                    :limit.sync="queryCommentReply.pageSize" @pagination="getReplyCommentList" />
+      </div>
 
-            <div slot="footer" class="dialog-footer">
-                <el-button style="margin-left: 5%" @click="ReplyCommentType = false">关 闭</el-button>
-            </div>
-        </el-dialog>
-    </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button style="margin-left: 5%" @click="ReplyCommentType = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
-import { listGoodsComment, getGoodsComment, delGoodsComment, addGoodsComment, updateGoodsComment, updateGoodsCommentStatus, noShowComment, showComment, getCommentgood, getCommentSku, getCommentReply, getQueryCommentReply } from '@/api/core/goodsComment'
+import {
+  listGoodsComment,
+  getGoodsComment,
+  delGoodsComment,
+  addGoodsComment,
+  updateGoodsComment,
+  updateGoodsCommentStatus,
+  noShowComment,
+  showComment,
+  getCommentgood,
+  getCommentSku,
+  getCommentReply,
+  getQueryCommentReply
+} from '@/api/core/goodsComment'
 
 export default {
-    name: 'GoodsComment',
-    dicts: ['sys_normal_disable', 'sys_yes_no', 'sys_job_status'],
-    data() {
-        return {
-            // 遮罩层
-            loading: true,
-            // 选中数组
-            ids: [],
-            // 非单个禁用
-            single: true,
-            // 非多个禁用
-            multiple: true,
-            // 显示搜索条件
-            showSearch: true,
-            // 总条数
-            total: 0,
-            // 商品评论表格数据
-            goodsCommentList: [],
-            // 弹出层标题
-            title: '',
-            // 是否显示弹出层
-            open: false,
-            // 查询参数
-            queryParams: {
-                goodsSkuId: null,
-                userId: null,
-                goodsId: null,
-                commentScore: null,
-                commentType: null,
-                commentContent: null,
-                commentImgs: null,
-                commentSrcType: null,
-                isShow: null,
-                isVirtual: null,
-                phoneNumber: null,
-                createTimeFrom: '',
-                createTimeTo: ''
-            },
-            // 表单参数
-            form: {},
-            // 表单校验
-            rules: {
-                goodsId: [{ required: true, message: '商品不能为空', trigger: 'change' }],
-                goodsSkuId: [{ required: true, message: '物料不能为空', trigger: 'change' }],
-                commentScore: [{ required: true, message: '评分不能为空', trigger: 'blur' }],
-                commentType: [{ required: true, message: '评论类型不能为空', trigger: 'blur' }],
-                commentContent: [{ required: true, message: '评论内容不能为空', trigger: 'blur' }],
-                isShow: [{ required: true, message: '是否显示不能为空', trigger: 'blur' }]
-            },
-            goodsType: null,
-            goodsList: [],
-            skuList: [],
-            queryCreateTime: null,
-            addreplayCommentOpen: false,
-            replayForm: {
-                // usercomment: '',
-                // commentImgs: '',
-                commentContent: '',
-                goodsCommentId: ''
-            },
-            replayrules: {
-                commentContent: [{ required: true, message: '评论回复不能为空', trigger: 'blur' }]
-            },
+  name: 'GoodsComment',
+  dicts: ['sys_normal_disable', 'sys_yes_no', 'sys_job_status'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 商品评论表格数据
+      goodsCommentList: [],
+      // 弹出层标题
+      title: '',
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        goodsSkuId: null,
+        userId: null,
+        goodsId: null,
+        commentScore: null,
+        commentType: null,
+        commentContent: null,
+        commentImgs: null,
+        commentSrcType: null,
+        isShow: null,
+        isVirtual: null,
+        phoneNumber: null,
+        createTimeFrom: '',
+        createTimeTo: ''
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        goodsId: [{ required: true, message: '商品不能为空', trigger: 'change' }],
+        goodsSkuId: [{ required: true, message: '物料不能为空', trigger: 'change' }],
+        commentScore: [{ required: true, message: '评分不能为空', trigger: 'blur' }],
+        commentType: [{ required: true, message: '评论类型不能为空', trigger: 'blur' }],
+        commentContent: [{ required: true, message: '评论内容不能为空', trigger: 'blur' }],
+        isShow: [{ required: true, message: '是否显示不能为空', trigger: 'blur' }]
+      },
+      goodsType: null,
+      goodsList: [],
+      skuList: [],
+      queryCreateTime: null,
+      addreplayCommentOpen: false,
+      replayForm: {
+        // usercomment: '',
+        // commentImgs: '',
+        commentContent: '',
+        goodsCommentId: ''
+      },
+      replayrules: {
+        commentContent: [{ required: true, message: '评论回复不能为空', trigger: 'blur' }]
+      },
 
-            replayCommentTitle: '',
-            ReplyCommentType: false,
-            queryCommentReply: {
-                goodsCommentId: 0,
-                pageNum: 1,
-                pageSize: 15
-            },
-            ReplyCommentLoading: false,
-            ReplyCommenttotal: 0,
-            ReplyCommentList: []
-        }
+      replayCommentTitle: '',
+      ReplyCommentType: false,
+      queryCommentReply: {
+        goodsCommentId: 0,
+        pageNum: 1,
+        pageSize: 15
+      },
+      ReplyCommentLoading: false,
+      ReplyCommenttotal: 0,
+      ReplyCommentList: []
+    }
+  },
+  created() {
+    this.goodsType = this.getUrlParam('goodsType')
+    this.queryParams.goodsType = this.getUrlParam('goodsType')
+    this.queryParams.goodsId = this.getUrlParam('goodsId')
+    this.getList()
+    this.getGoodsList()
+  },
+  methods: {
+    getCreateTime() {
+      if (this.queryCreateTime != null) {
+        this.queryParams.createTimeFrom = this.queryCreateTime[0]
+        this.queryParams.createTimeTo = this.queryCreateTime[1]
+      }
     },
-    created() {
-        this.goodsType = this.getUrlParam('goodsType')
-        this.queryParams.goodsId = this.getUrlParam('goodsId')
-        this.getList()
-        this.getGoodsList()
+    /** 查询商品评论列表 */
+    getList() {
+      this.$nextTick(() => {
+        this.$refs.pagination.handleSearch(true)
+      })
     },
-    methods: {
-        getCreateTime() {
-            if (this.queryCreateTime != null) {
-                this.queryParams.createTimeFrom = this.queryCreateTime[0]
-                this.queryParams.createTimeTo = this.queryCreateTime[1]
-            }
-        },
-        /** 查询商品评论列表 */
-        getList() {
-            this.$nextTick(() => {
-                this.$refs.pagination.handleSearch(true)
-            })
-        },
-        getGoodsList() {
-            getCommentgood({
-                pageNum: 1,
-                pageSize: 999,
-                goodsType: this.goodsType
-            }).then((response) => {
-                this.goodsList = response.data
-            })
-        },
-        getSkuList(id) {
-            getCommentSku({
-                pageNum: 1,
-                pageSize: 999,
-                goodsType: this.goodsType,
-                goodsId: id
-            }).then((response) => {
-                this.skuList = response.data
-            })
-        },
-        //处理图片数组
-        getimgList(data) {
-            return data ? data.split(',') : []
-        },
-        // 取消按钮
-        cancel() {
-            this.open = false
-            this.reset()
-            this.getList()
-        },
-        // 表单重置
-        reset() {
-            this.form = {
-                id: null,
-                goodsSkuId: null,
-                userId: null,
-                orderId: null,
-                commentScore: null,
-                commentType: null,
-                commentContent: null,
-                commentImgs: null,
-                commentSrcType: null,
-                delFlag: null,
-                createBy: null,
-                createById: null,
-                createTime: null,
-                updateBy: null,
-                updateById: null,
-                updateTime: null,
-                remark: null,
-                isShow: 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
-        },
-        /** 新增按钮操作 */
-        handleAdd() {
-            this.reset()
-            this.open = true
-            this.title = '添加商品评论'
-        },
-        /** 修改按钮操作 */
-        handleUpdate(row) {
-            this.reset()
-            const id = row.id || this.ids
-            getGoodsComment(id).then((response) => {
-                this.form = response.data
-                this.open = true
-                this.title = '修改商品评论'
-            })
-        },
-        /** 提交按钮 */
-        submitForm() {
-            this.$refs['form'].validate((valid) => {
-                if (valid) {
-                    // console.log(this.form)
-                    this.form.goodsCommentId = this.form.id
-                    this.form.goodsType = this.goodsType
+    getGoodsList() {
+      getCommentgood({
+        pageNum: 1,
+        pageSize: 999,
+        goodsType: this.goodsType
+      }).then((response) => {
+        this.goodsList = response.data
+      })
+    },
+    getSkuList(id) {
+      getCommentSku({
+        pageNum: 1,
+        pageSize: 999,
+        goodsType: this.goodsType,
+        goodsId: id
+      }).then((response) => {
+        this.skuList = response.data
+      })
+    },
+    //处理图片数组
+    getimgList(data) {
+      return data ? data.split(',') : []
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false
+      this.reset()
+      this.getList()
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        goodsSkuId: null,
+        userId: null,
+        orderId: null,
+        commentScore: null,
+        commentType: null,
+        commentContent: null,
+        commentImgs: null,
+        commentSrcType: null,
+        delFlag: null,
+        createBy: null,
+        createById: null,
+        createTime: null,
+        updateBy: null,
+        updateById: null,
+        updateTime: null,
+        remark: null,
+        isShow: 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
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset()
+      this.open = true
+      this.title = '添加商品评论'
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset()
+      const id = row.id || this.ids
+      getGoodsComment(id).then((response) => {
+        this.form = response.data
+        this.open = true
+        this.title = '修改商品评论'
+      })
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          // console.log(this.form)
+          this.form.goodsCommentId = this.form.id
+          this.form.goodsType = this.goodsType
 
-                    if (this.form.id != null) {
-                        updateGoodsComment(this.form).then((response) => {
-                            this.$modal.msgSuccess('修改成功')
-                            this.open = false
-                            this.getList()
-                        })
-                    } else {
-                        addGoodsComment(this.form).then((response) => {
-                            this.$modal.msgSuccess('新增成功')
-                            this.open = false
-                            this.getList()
-                        })
-                    }
-                }
+          if (this.form.id != null) {
+            updateGoodsComment(this.form).then((response) => {
+              this.$modal.msgSuccess('修改成功')
+              this.open = false
+              this.getList()
             })
-        },
-        /** 显示按钮操作 */
-        handleShow2(row) {
-            const ids = []
-            ids.push(row.id)
-            this.$modal
-                .confirm('是否确认将评论在APP显示?')
-                .then(function () {
-                    return showComment(ids)
-                })
-                .then(() => {
-                    this.getList()
-                    this.$modal.msgSuccess('操作成功')
-                })
-                .catch(() => {})
-        },
-        /** 隐藏按钮操作 */
-        handleNoShow2(row) {
-            const ids = []
-            ids.push(row.id)
-            this.$modal
-                .confirm('是否确认将评论在APP隐藏?')
-                .then(function () {
-                    return noShowComment(ids)
-                })
-                .then(() => {
-                    this.getList()
-                    this.$modal.msgSuccess('操作成功')
-                })
-                .catch(() => {})
-        },
-        /** 显示按钮操作 */
-        handleShow() {
-            const ids = this.ids
-            this.$modal
-                .confirm('是否确认将评论在APP显示?')
-                .then(function () {
-                    return showComment(ids)
-                })
-                .then(() => {
-                    this.getList()
-                    this.$modal.msgSuccess('操作成功')
-                })
-                .catch(() => {})
-        },
-        /** 隐藏按钮操作 */
-        handleNoShow() {
-            const ids = this.ids
-            this.$modal
-                .confirm('是否确认将评论在APP隐藏?')
-                .then(function () {
-                    return noShowComment(ids)
-                })
-                .then(() => {
-                    this.getList()
-                    this.$modal.msgSuccess('操作成功')
-                })
-                .catch(() => {})
-        },
-        /** 导出按钮操作 */
-        handleExport() {
-            this.download(
-                'mapi/goods/goodsComment/export',
-                {
-                    ...this.queryParams
-                },
-                `goodsComment_${new Date().getTime()}.xlsx`
-            )
-        },
-        checkClose(done) {
-            this.$confirm('是否关闭表单,关闭后数据将丢失?')
-                .then(function () {
-                    done()
-                })
-                .then(() => {
-                    this.cancel()
-                })
-                .catch(() => {})
-        },
-        replyComment(row) {
-            // this.replayForm.usercomment = row.commentContent;
-            // this.replayForm.commentImgs = row.commentImgs;
-            this.replayForm.goodsCommentId = row.id
-            this.addreplayCommentOpen = true
-            this.replayCommentTitle = '新增评论回复'
-        },
-        handleClose(done) {
-            this.$confirm('是否关闭表单?')
-                .then((_) => {
-                    done()
-                })
-                .catch((_) => {})
-        },
-        addreplayCommentSubmit(formName) {
-            if (!this.replayForm.commentContent) {
-                this.$modal.msgError('请输入回复内容')
-                return
-            }
-            getCommentReply({
-                goodsCommentId: this.replayForm.goodsCommentId,
-                commentContent: this.replayForm.commentContent
-            }).then((response) => {
-                this.$modal.msgSuccess('回复成功')
-                this.addreplayCommentOpen = false
-                this.getList()
+          } else {
+            addGoodsComment(this.form).then((response) => {
+              this.$modal.msgSuccess('新增成功')
+              this.open = false
+              this.getList()
             })
-            /*this.$refs[formName].validate((valid) => {
-        if (valid) {
-          getCommentReply({
-            goodsCommentId: this.replayForm.goodsCommentId,
-            commentContent: this.replayForm.commentContent
-          }).then(response => {
-            this.$modal.msgSuccess("回复成功");
-            this.addreplayCommentOpen = false;
-            this.getList();
-          });
+          }
         }
-      });*/
-        },
-        showReplyComment(row) {
-            this.queryCommentReply.goodsCommentId = row.id
-            this.ReplyCommentList = []
-            this.queryCommentReply.pageNum = 1
-            this.ReplyCommentType = true
-            this.getReplyCommentList()
-        },
-        getReplyCommentList() {
-            this.ReplyCommentLoading = true
-            getQueryCommentReply({
-                goodsCommentId: this.queryCommentReply.goodsCommentId,
-                pageNum: this.queryCommentReply.pageNum,
-                pageSize: this.queryCommentReply.pageSize
-            }).then((response) => {
-                this.ReplyCommentList = response.data.list
-                this.ReplyCommenttotal = response.data.total
-                this.ReplyCommentLoading = false
-            })
-        },
-        commentUpdate(row) {
-            this.replayCommentTitle = '编辑评论回复'
-            let objform = Object.assign({}, row)
-            this.replayForm.goodsCommentId = objform.goodsCommentId
-            this.replayForm.commentContent = objform.commentContent
-            this.addreplayCommentOpen = true
+      })
+    },
+    /** 显示按钮操作 */
+    handleShow2(row) {
+      const ids = []
+      ids.push(row.id)
+      this.$modal
+        .confirm('是否确认将评论在APP显示?')
+        .then(function() {
+          return showComment(ids)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('操作成功')
+        })
+        .catch(() => {
+        })
+    },
+    /** 隐藏按钮操作 */
+    handleNoShow2(row) {
+      const ids = []
+      ids.push(row.id)
+      this.$modal
+        .confirm('是否确认将评论在APP隐藏?')
+        .then(function() {
+          return noShowComment(ids)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('操作成功')
+        })
+        .catch(() => {
+        })
+    },
+    /** 显示按钮操作 */
+    handleShow() {
+      const ids = this.ids
+      if (!ids || ids.length <= 0) {
+        this.$modal.msgError('请选择需要操作的数据')
+        return
+      }
+      this.$modal
+        .confirm('是否确认将评论在APP显示?')
+        .then(function() {
+          return showComment(ids)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('操作成功')
+        })
+        .catch(() => {
+        })
+    },
+    /** 隐藏按钮操作 */
+    handleNoShow() {
+      const ids = this.ids
+      if (!ids || ids.length <= 0) {
+        this.$modal.msgError('请选择需要操作的数据')
+        return
+      }
+      this.$modal
+        .confirm('是否确认将评论在APP隐藏?')
+        .then(function() {
+          return noShowComment(ids)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('操作成功')
+        })
+        .catch(() => {
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        'mapi/goods/goodsComment/export',
+        {
+          ...this.queryParams
         },
-        //评论编辑
-        async editreplyComment(row) {
-            this.getSkuList(row.goodsId)
-            this.form = Object.assign({}, row)
-            this.form.goodsSkuId = row.skuList[0].goodsSkuId
-            this.open = true
-            this.title = '编辑商品评论'
+        `goodsComment_${new Date().getTime()}.xlsx`
+      )
+    },
+    checkClose(done) {
+      this.$confirm('是否关闭表单,关闭后数据将丢失?')
+        .then(function() {
+          done()
+        })
+        .then(() => {
+          this.cancel()
+        })
+        .catch(() => {
+        })
+    },
+    replyComment(row) {
+      // this.replayForm.usercomment = row.commentContent;
+      // this.replayForm.commentImgs = row.commentImgs;
+      this.replayForm.goodsCommentId = row.id
+      this.addreplayCommentOpen = true
+      this.replayCommentTitle = '新增评论回复'
+    },
+    handleClose(done) {
+      this.$confirm('是否关闭表单?')
+        .then((_) => {
+          done()
+        })
+        .catch((_) => {
+        })
+    },
+    addreplayCommentSubmit(formName) {
+      if (!this.replayForm.commentContent) {
+        this.$modal.msgError('请输入回复内容')
+        return
+      }
+      getCommentReply({
+        goodsCommentId: this.replayForm.goodsCommentId,
+        commentContent: this.replayForm.commentContent
+      }).then((response) => {
+        this.$modal.msgSuccess('回复成功')
+        this.addreplayCommentOpen = false
+        this.getList()
+      }).finally(() => {
+        this.replayForm = {
+          commentContent: '',
+          goodsCommentId: ''
         }
+      })
+      /*this.$refs[formName].validate((valid) => {
+  if (valid) {
+    getCommentReply({
+      goodsCommentId: this.replayForm.goodsCommentId,
+      commentContent: this.replayForm.commentContent
+    }).then(response => {
+      this.$modal.msgSuccess("回复成功");
+      this.addreplayCommentOpen = false;
+      this.getList();
+    });
+  }
+});*/
+    },
+    showReplyComment(row) {
+      this.queryCommentReply.goodsCommentId = row.id
+      this.ReplyCommentList = []
+      this.queryCommentReply.pageNum = 1
+      this.ReplyCommentType = true
+      this.getReplyCommentList()
+    },
+    getReplyCommentList() {
+      this.ReplyCommentLoading = true
+      getQueryCommentReply({
+        goodsCommentId: this.queryCommentReply.goodsCommentId,
+        pageNum: this.queryCommentReply.pageNum,
+        pageSize: this.queryCommentReply.pageSize
+      }).then((response) => {
+        this.ReplyCommentList = response.rows
+        this.ReplyCommenttotal = response.total
+        this.ReplyCommentLoading = false
+      }).finally(() => {
+        this.ReplyCommentLoading = false
+      })
+    },
+    commentUpdate(row) {
+      this.replayCommentTitle = '编辑评论回复'
+      let objform = Object.assign({}, row)
+      this.replayForm.goodsCommentId = objform.goodsCommentId
+      this.replayForm.commentContent = objform.commentContent
+      this.addreplayCommentOpen = true
+    },
+    //评论编辑
+    async editreplyComment(row) {
+      this.getSkuList(row.goodsId)
+      this.form = Object.assign({}, row)
+      this.form.goodsSkuId = row.skuList[0].goodsSkuId
+      this.open = true
+      this.title = '编辑商品评论'
     }
+  }
 }
 </script>

+ 220 - 0
src/views/settlement/rate/factoryRate.vue

@@ -0,0 +1,220 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label-width="120px" prop="orgId">
+        <el-select v-model="queryParams.factoryId" placeholder="请选择" clearable filterable>
+          <el-option v-for="factory in factoryList" :key="factory.id + factory.sourceType" :label="factory.name" :value="factory.id"> </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">
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <Page uri="/mapi/settlement/factory/rate/list" :request-params="queryParams" ref="pagination">
+      <el-table-column label="编号" align="center" prop="factoryId" width="100px" />
+      <el-table-column label="工厂名称" align="center" prop="factoryName" />
+      <el-table-column label="材料费率" align="center" prop="materialRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.materialRate != null && scope.row.materialRate >= 0">{{(scope.row.materialRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="系统管理费率" align="center" prop="managementRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.managementRate != null && scope.row.managementRate >= 0">{{(scope.row.managementRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="押金费率" align="center" prop="depositRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.depositRate != null && scope.row.depositRate >= 0">{{(scope.row.depositRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="开始时间" align="center" prop="startDate">
+        <template slot-scope="scope">
+          {{ scope.row.startDate || '--' }}
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" prop="endDate">
+        <template slot-scope="scope">
+          {{ scope.row.endDate || '--' }}
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150">
+        <template slot-scope="scope">
+          <el-button type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['settlement:factory:rate:edit']">修改</el-button>
+        </template>
+      </el-table-column>
+    </Page>
+
+    <!-- 添加或修改结算费率对话框 -->
+    <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
+      <el-row :gutter="15">
+        <el-form ref="form" :model="form" :rules="rules" label-width="130px">
+          <el-col :span="12">
+            <el-form-item label="材料费率" prop="materialRate">
+              <el-input-number v-model="form.materialRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="时间范围" prop="dateRange">
+              <el-date-picker clearable v-model="form.dateRange" type="daterange" value-format="yyyy-MM-dd" range-separator="至"
+                              start-placeholder="开始日期" end-placeholder="结束日期" @change="selectDateRange"> </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="系统管理费率" prop="managementRate">
+              <el-input-number v-model="form.managementRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="押金费率" prop="depositRate">
+              <el-input-number v-model="form.depositRate" :precision="2" :step="0.01" :max="1" />
+            </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 { getFactoryRateInfo, saveFactoryRate, updateFactoryRate } from '@/api/settlement/factoryRate'
+import { allOrg } from '@/api/system/store'
+
+export default {
+  name: 'FactoryRate',
+  data() {
+    return {
+      orgList: [],
+      factoryList: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 结算费率表格数据
+      rateList: [],
+      // 弹出层标题
+      title: '',
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        factoryId: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        dateRange: [{ required: true, message: '时间范围不能为空', trigger: 'blur' }],
+      },
+    }
+  },
+  created() {
+    allOrg().then((res) => {
+      this.orgList = res.data
+      this.orgList.forEach((org) => {
+        if (org.sourceType === '01') {
+          this.factoryList.push(org)
+        }
+      })
+    })
+    this.getList()
+  },
+  methods: {
+    /** 查询结算费率列表 */
+    getList() {
+      this.$nextTick(() => {
+        this.$refs.pagination.handleSearch(true)
+      })
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false
+      this.reset()
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        materialRate: 0,
+        managementRate: 0,
+        depositRate: 0,
+        startDate: null,
+        endDate: null,
+        dateRange: []
+      }
+      this.resetForm('form')
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.getList()
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm('queryForm')
+      this.queryParams = {}
+      this.handleQuery()
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset()
+      const id = row.id
+      if (id) {
+        getFactoryRateInfo(id).then((response) => {
+          this.form = response.data
+          this.form.dateRange = [response.data.startDate, response.data.endDate]
+          this.open = true
+        })
+      } else {
+        this.open = true
+      }
+      this.form.factoryId = row.factoryId
+      this.title = '修改工厂结算费率'
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateFactoryRate(this.form).then((response) => {
+              this.$modal.msgSuccess('修改成功')
+              this.open = false
+              this.getList()
+            })
+          } else {
+            saveFactoryRate(this.form).then((response) => {
+              this.$modal.msgSuccess('新增成功')
+              this.open = false
+              this.getList()
+            })
+          }
+        }
+      })
+    },
+    // 时间选择
+    selectDateRange() {
+      if (this.form.dateRange != null) {
+        this.form.startDate = this.form.dateRange[0]
+        this.form.endDate = this.form.dateRange[1]
+      }
+    },
+  }
+}
+</script>

+ 291 - 0
src/views/settlement/rate/storeRate.vue

@@ -0,0 +1,291 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label-width="120px" prop="orgId">
+        <el-select v-model="queryParams.storeId" placeholder="请选择" clearable filterable>
+          <el-option v-for="store in storeList" :key="store.id + store.sourceType" :label="store.name" :value="store.id"> </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">
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <Page uri="/mapi/settlement/store/rate/list" :request-params="queryParams" ref="pagination">
+      <el-table-column label="编号" align="center" prop="storeId" width="100px" />
+      <el-table-column label="门店名称" align="center" prop="storeName" />
+      <el-table-column label="工厂结算费率" align="center" prop="factoryRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.factoryRate != null && scope.row.factoryRate >= 0">{{(scope.row.factoryRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="材料费率" align="center" prop="materialRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.materialRate != null && scope.row.materialRate >= 0">{{(scope.row.materialRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="会员卡押金费率" align="center" prop="cardDepositRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.cardDepositRate != null && scope.row.cardDepositRate >= 0">{{(scope.row.cardDepositRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="福利押金费率" align="center" prop="welfareDepositRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.welfareDepositRate != null && scope.row.welfareDepositRate >= 0">{{(scope.row.welfareDepositRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="卡密押金费率" align="center" prop="passwordDepositRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.passwordDepositRate != null && scope.row.passwordDepositRate >= 0">{{(scope.row.passwordDepositRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="异店消费费率" align="center" prop="otherConsumeRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.otherConsumeRate != null && scope.row.otherConsumeRate >= 0">{{(scope.row.otherConsumeRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="支付宝支付费率" align="center" prop="aliPayRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.aliPayRate != null && scope.row.aliPayRate >= 0">{{(scope.row.aliPayRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="微信支付费率" align="center" prop="wxPayRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.wxPayRate != null && scope.row.wxPayRate >= 0">{{(scope.row.wxPayRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="系统管理费率" align="center" prop="managementRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.managementRate != null && scope.row.managementRate >= 0">{{(scope.row.managementRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="洗衣费率" align="center" prop="washRate">
+        <template slot-scope="scope">
+          <span v-if="scope.row.washRate != null && scope.row.washRate >= 0">{{(scope.row.washRate).toFixed(2)}}</span >
+          <span v-else>--</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="开始时间" align="center" prop="startDate">
+        <template slot-scope="scope">
+          {{ scope.row.startDate || '--' }}
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" prop="endDate">
+        <template slot-scope="scope">
+          {{ scope.row.endDate || '--' }}
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150">
+        <template slot-scope="scope">
+          <el-button type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['settlement:store:rate:edit']">修改</el-button>
+        </template>
+      </el-table-column>
+    </Page>
+
+    <!-- 添加或修改结算费率对话框 -->
+    <el-dialog :title="title" :visible.sync="open" size="30%" append-to-body>
+      <el-row :gutter="15">
+        <el-form ref="form" :model="form" :rules="rules" label-width="130px">
+          <el-col :span="12">
+            <el-form-item label="工厂结算费率" prop="factoryRate">
+              <el-input-number v-model="form.factoryRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="材料费率" prop="materialRate">
+              <el-input-number v-model="form.materialRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="会员卡押金费率" prop="cardDepositRate">
+              <el-input-number v-model="form.cardDepositRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="福利押金费率" prop="welfareDepositRate">
+              <el-input-number v-model="form.welfareDepositRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="卡密押金费率" prop="passwordDepositRate">
+              <el-input-number v-model="form.passwordDepositRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+
+            <el-form-item label="时间范围" prop="dateRange">
+              <el-date-picker clearable v-model="form.dateRange" type="daterange" value-format="yyyy-MM-dd" range-separator="至"
+                              start-placeholder="开始日期" end-placeholder="结束日期" @change="selectDateRange"> </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="异店消费费率" prop="otherConsumeRate">
+              <el-input-number v-model="form.otherConsumeRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="支付宝支付费率" prop="aliPayRate">
+              <el-input-number v-model="form.aliPayRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="微信支付费率" prop="wxPayRate">
+              <el-input-number v-model="form.wxPayRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="系统管理费率" prop="managementRate">
+              <el-input-number v-model="form.managementRate" :precision="2" :step="0.01" :max="1" />
+            </el-form-item>
+            <el-form-item label="洗衣费率" prop="washRate">
+              <el-input-number v-model="form.washRate" :precision="2" :step="0.01" :max="1" />
+            </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 { getStoreRateInfo, saveStoreRate, updateStoreRate } from '@/api/settlement/storeRate'
+import { allOrg } from '@/api/system/store'
+
+export default {
+  name: 'StoreRate',
+  data() {
+    return {
+      orgList: [],
+      storeList: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 结算费率表格数据
+      rateList: [],
+      // 弹出层标题
+      title: '',
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        storeId: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        dateRange: [{ required: true, message: '时间范围不能为空', trigger: 'blur' }],
+      },
+    }
+  },
+  created() {
+    allOrg().then((res) => {
+      this.orgList = res.data
+      this.orgList.forEach((org) => {
+        if (org.sourceType !== '01') {
+          this.storeList.push(org)
+        }
+      })
+    })
+    this.getList()
+  },
+  methods: {
+    /** 查询结算费率列表 */
+    getList() {
+      this.$nextTick(() => {
+        this.$refs.pagination.handleSearch(true)
+      })
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false
+      this.reset()
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        factoryRate: 0,
+        materialRate: 0,
+        cardDepositRate: 0,
+        welfareDepositRate: 0,
+        passwordDepositRate: 0,
+        otherConsumeRate: 0,
+        aliPayRate: 0,
+        wxPayRate: 0,
+        managementRate: 0,
+        washRate: 0,
+        startDate: null,
+        endDate: null,
+        dateRange: []
+      }
+      this.resetForm('form')
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.getList()
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm('queryForm')
+      this.queryParams = {}
+      this.handleQuery()
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset()
+      const id = row.id
+      if (id) {
+        getStoreRateInfo(id).then((response) => {
+          this.form = response.data
+          this.form.dateRange = [response.data.startDate, response.data.endDate]
+          this.open = true
+        })
+      } else {
+        this.open = true
+      }
+      this.form.storeId = row.storeId
+      this.title = '修改门店结算费率'
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateStoreRate(this.form).then((response) => {
+              this.$modal.msgSuccess('修改成功')
+              this.open = false
+              this.getList()
+            })
+          } else {
+            saveStoreRate(this.form).then((response) => {
+              this.$modal.msgSuccess('新增成功')
+              this.open = false
+              this.getList()
+            })
+          }
+        }
+      })
+    },
+    // 时间选择
+    selectDateRange() {
+      if (this.form.dateRange != null) {
+        this.form.startDate = this.form.dateRange[0]
+        this.form.endDate = this.form.dateRange[1]
+      }
+    },
+  }
+}
+</script>

+ 13 - 6
src/views/system/store/add_store.vue

@@ -2,11 +2,16 @@
     <div v-loading="dialogLoading" :element-loading-text="loadingText">
         <el-row :gutter="15" style="margin-bottom: 80px; width: 90%; margin-left: 5%">
             <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" label-position="top">
-                <el-col :span="24">
+                <el-col :span="12">
                     <el-form-item label="门店名称" prop="name">
                         <el-input v-model="formData.name" placeholder="请输入门店名称" clearable :style="{ width: '100%' }"> </el-input>
                     </el-form-item>
                 </el-col>
+                <el-col :span="12">
+                    <el-form-item label="门店免洗额度" prop="balance">
+                        <el-input v-model="formData.balance" placeholder="请输入门店免洗额度" :disabled="isEditMode" clearable :style="{ width: '100%' }"> </el-input>
+                    </el-form-item>
+                </el-col>
                 <el-col :span="8">
                     <el-form-item label="门店编码" prop="code">
                         <el-input v-model="formData.code" :maxlength="4" @input="handleInput" :disabled="isEditMode" placeholder="请输入门店编码" clearable :style="{ width: '100%' }"> </el-input>
@@ -35,13 +40,15 @@
                         </el-select>
                     </el-form-item>
                 </el-col>
-                <el-col :span="8">
+                
+                
+                <!-- <el-col :span="8">
                     <el-form-item label-width="127px" label="是否打印小票" prop="isPrint">
                         <el-select v-model="formData.isPrint" placeholder="请选择是否打印小票" :style="{ width: '100%' }">
                             <el-option v-for="(item, index) in isPrintOptions" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>
                         </el-select>
                     </el-form-item>
-                </el-col>
+                </el-col> 
                 <el-col :span="8">
                     <el-form-item label-width="127px" label="是否参与结算" prop="isSettlement">
                         <el-select v-model="formData.isSettlement" placeholder="请选择是否参与结算" :style="{ width: '100%' }">
@@ -67,7 +74,7 @@
                     <el-form-item label-width="127px" label="小票打印数量" prop="printNum">
                         <el-input-number v-model="formData.printNum" placeholder="请输入小票打印数量" :min="0" :step-strictly="true" :style="{ width: '100%' }"> </el-input-number>
                     </el-form-item>
-                </el-col>
+                </el-col> -->
                 <el-col :span="8">
                     <el-form-item label-width="113px" label="负责人姓名" prop="contactName">
                         <el-input v-model="formData.contactName" placeholder="请输入负责人姓名" clearable :style="{ width: '100%' }"></el-input>
@@ -109,11 +116,11 @@
                     </el-form-item>
                 </el-col>
 
-                <el-col :span="8">
+                <!-- <el-col :span="8">
                     <el-form-item label-width="106px" label="负责人QQ" prop="contactQq">
                         <el-input v-model="formData.contactQq" placeholder="请输入负责人QQ" clearable :style="{ width: '100%' }"> </el-input>
                     </el-form-item>
-                </el-col>
+                </el-col> -->
 
                 <el-col :span="8">
                     <el-form-item label="开店时间" prop="openDate">

+ 134 - 169
src/views/systemSet/store/index.vue

@@ -1,120 +1,102 @@
 <template>
   <div class="app-container">
     <el-tabs v-model="storeTab" @tab-click="onChangeStoreTab">
-      <el-tab-pane  label="基本信息" name="1"></el-tab-pane>
-      <el-tab-pane  label="结算账号" name="2"></el-tab-pane>
+      <el-tab-pane label="基本信息" name="1"></el-tab-pane>
+      <el-tab-pane label="结算账号" name="2"></el-tab-pane>
     </el-tabs>
 
     <el-row :gutter="20">
       <el-form v-loading="loading" ref="elForm" :model="form" :rules="rules" style="margin-left: 20%" :style="{width: '60%'}">
         <!-- 基本信息 -->
-      <template v-if="storeTab == '1'">
-        <template v-if="storeTab1actionPage == '1'">
-        <el-descriptions title="门店信息" :column="2" border :contentStyle="{'text-align': 'center'}">
-          <!-- 详情展示  ==============================================        -->
-            <template slot="extra" >
-              <el-button type="primary"
-                         size="medium"
-                         @click="handelActionStoreTab1"
-                         v-hasPermi="['system:store:edit']">操作</el-button>
-            </template>
-            <el-descriptions-item >
-              <template slot="label"><i class="el-icon-discount"></i>门店编号</template>
-              {{form.code}}</el-descriptions-item>
-            <el-descriptions-item :labelStyle="{width: '25%'}">
-              <template slot="label"><i class="el-icon-office-building"></i>门店名称</template>
-              {{form.name}}</el-descriptions-item>
-            <el-descriptions-item span="2" :contentStyle="{'text-align': 'left'}">
-            <template slot="label"><i class="el-icon-picture"></i>门店照片</template>
-            <el-image
-              style="width: 100px; height: 100px"
-              :src="form.companyPic"
-              fit="fill"></el-image></el-descriptions-item>
-            <el-descriptions-item >
-              <template slot="label"><i class="el-icon-connection"></i>授权日期</template>
-              {{form.openDateParse}}</el-descriptions-item>
-          <el-descriptions-item >
-            <template slot="label"><i class="el-icon-time"></i>营业时间</template>
-            {{form.businessStartTime}} - {{form.businessEndTime}}</el-descriptions-item>
-            <el-descriptions-item label="门店状态" >
-              <template slot="label"><i class="el-icon-s-flag"></i>门店状态</template>
-              <el-tag size="small"
-                      v-if="form.status==item.value"
-                      v-for="item in options"
-                      :key="item.value">
-                {{item.label}}</el-tag>
-            </el-descriptions-item>
-          <el-descriptions-item >
-            <template slot="label"><i class="el-icon-phone"></i>服务热线</template>
-            {{form.contactWorkTel}}</el-descriptions-item>
-
-          <el-descriptions-item span="1">
-            <template slot="label"><i class="el-icon-download"></i>是否打印小票</template>
-            <el-tag size="small"
-                    v-if="form.isPrint==item.value"
-                    v-for="item in options"
-                    :key="item.value">
-              {{item.label}}</el-tag>
-          </el-descriptions-item>
+        <template v-if="storeTab == '1'">
+          <template v-if="storeTab1actionPage == '1'">
+            <el-descriptions title="门店信息" :column="2" border :contentStyle="{'text-align': 'center'}">
+              <!-- 详情展示  ==============================================        -->
+              <template slot="extra">
+                <el-button type="primary" size="medium" @click="handelActionStoreTab1" v-hasPermi="['system:store:edit']">操作</el-button>
+              </template>
+              <el-descriptions-item>
+                <template slot="label"><i class="el-icon-discount"></i>门店编号</template>
+                {{form.code}}</el-descriptions-item>
+              <el-descriptions-item :labelStyle="{width: '25%'}">
+                <template slot="label"><i class="el-icon-office-building"></i>门店名称</template>
+                {{form.name}}</el-descriptions-item>
+              <el-descriptions-item span="2" :contentStyle="{'text-align': 'left'}">
+                <template slot="label"><i class="el-icon-picture"></i>门店免洗额度</template>
+                {{form.balance}}
+              </el-descriptions-item>
+              <el-descriptions-item span="2" :contentStyle="{'text-align': 'left'}">
+                <template slot="label"><i class="el-icon-picture"></i>门店照片</template>
+                <el-image style="width: 100px; height: 100px" :src="form.companyPic" fit="fill"></el-image>
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label"><i class="el-icon-connection"></i>授权日期</template>
+                {{form.openDateParse}}</el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label"><i class="el-icon-time"></i>营业时间</template>
+                {{form.businessStartTime}} - {{form.businessEndTime}}</el-descriptions-item>
+              <el-descriptions-item label="门店状态">
+                <template slot="label"><i class="el-icon-s-flag"></i>门店状态</template>
+                <el-tag size="small" v-if="form.status==item.value" v-for="item in options" :key="item.value">
+                  {{item.label}}</el-tag>
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label"><i class="el-icon-phone"></i>服务热线</template>
+                {{form.contactWorkTel}}</el-descriptions-item>
 
-          <el-descriptions-item span="1">
-            <template slot="label"><i class="el-icon-download"></i>小票是否打印客户姓名</template>
-            <el-tag size="small"
-                    v-if="form.isPrintName==item.value"
-                    v-for="item in options"
-                    :key="item.value">
-              {{item.label}}</el-tag>
-          </el-descriptions-item>
+              <el-descriptions-item span="1">
+                <template slot="label"><i class="el-icon-download"></i>是否打印小票</template>
+                <el-tag size="small" v-if="form.isPrint==item.value" v-for="item in options" :key="item.value">
+                  {{item.label}}</el-tag>
+              </el-descriptions-item>
 
-
-          <el-descriptions-item span="2">
-            <template slot="label"><i class="el-icon-s-comment"></i>店铺说明</template>
-            {{form.companyDetail}}</el-descriptions-item>
-          <el-descriptions-item span="2">
-            <template slot="label"><i class="el-icon-position"></i>所在区域</template>
-            {{form.provinceName}}{{form.cityName}}{{form.areaName}}</el-descriptions-item>
-            <el-descriptions-item span="2">
-              <template slot="label"><i class="el-icon-location-information"></i>详细地址</template>
-              {{form.address}}</el-descriptions-item>
-        </el-descriptions>
-        </template>
+              <el-descriptions-item span="1">
+                <template slot="label"><i class="el-icon-download"></i>小票是否打印客户姓名</template>
+                <el-tag size="small" v-if="form.isPrintName==item.value" v-for="item in options" :key="item.value">
+                  {{item.label}}</el-tag>
+              </el-descriptions-item>
+              <el-descriptions-item span="2">
+                <template slot="label"><i class="el-icon-s-comment"></i>店铺说明</template>
+                {{form.companyDetail}}</el-descriptions-item>
+              <el-descriptions-item span="2">
+                <template slot="label"><i class="el-icon-location-information"></i>详细地址</template>
+                {{form.address}}</el-descriptions-item>
+            </el-descriptions>
+          </template>
 
           <!-- 详情编辑  ==============================================        -->
           <template v-if="storeTab1actionPage == '0'">
             <el-descriptions title="门店信息" :column="2" border>
-            <template slot="extra" >
-              <el-button type="primary" size="medium" @click="cancelForm" >取消</el-button>
-              <el-button type="primary" size="medium" @click="submitForm" >保存</el-button>
-            </template>
-            <el-descriptions-item>
-              <template slot="label"><i class="el-icon-discount"></i>门店编号</template>
-              {{form.code}}</el-descriptions-item>
-            <el-descriptions-item >
-              <template slot="label"><i class="el-icon-office-building"></i>门店名称</template>
-              {{form.name}}</el-descriptions-item>
-            <el-descriptions-item >
-              <template slot="label"><i class="el-icon-connection"></i>授权日期</template>
-              {{form.openDateParse}}</el-descriptions-item>
-            <el-descriptions-item label="门店状态" >
-              <template slot="label"><i class="el-icon-s-flag"></i>门店状态</template>
-              <el-tag size="small"
-                      v-if="form.status==item.value"
-                      v-for="item in options"
-                      :key="item.value">
-                {{item.label}}</el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item >
-              <template slot="label"><i class="el-icon-position"></i>所在区域</template>
-              {{form.provinceName}}{{form.cityName}}{{form.areaName}}</el-descriptions-item>
+              <template slot="extra">
+                <el-button type="primary" size="medium" @click="cancelForm">取消</el-button>
+                <el-button type="primary" size="medium" @click="submitForm">保存</el-button>
+              </template>
+              <el-descriptions-item>
+                <template slot="label"><i class="el-icon-discount"></i>门店编号</template>
+                {{form.code}}</el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label"><i class="el-icon-office-building"></i>门店名称</template>
+                {{form.name}}</el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label"><i class="el-icon-connection"></i>授权日期</template>
+                {{form.openDateParse}}</el-descriptions-item>
+              <el-descriptions-item label="门店状态">
+                <template slot="label"><i class="el-icon-s-flag"></i>门店状态</template>
+                <el-tag size="small" v-if="form.status==item.value" v-for="item in options" :key="item.value">
+                  {{item.label}}</el-tag>
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label"><i class="el-icon-position"></i>所在区域</template>
+                {{form.provinceName}}{{form.cityName}}{{form.areaName}}</el-descriptions-item>
             </el-descriptions>
 
             <!--  可编辑部分-->
-            <div class="action1" >
+            <div class="action1">
 
               <el-col :span="24">
-              <el-form-item label="详细地址" prop="address">
-                <el-input v-model="form.address" placeholder="请输入详细地址" maxlength="200" show-word-limit />
-              </el-form-item>
+                <el-form-item label="详细地址" prop="address">
+                  <el-input v-model="form.address" placeholder="请输入详细地址" maxlength="200" show-word-limit />
+                </el-form-item>
               </el-col>
               <el-col :span="24">
                 <el-form-item label="店铺说明" prop="companyDetail">
@@ -123,18 +105,14 @@
               </el-col>
 
               <el-col :span="12">
-              <el-form-item label="服务热线" prop="contactWorkTel">
-                <el-input v-model="form.contactWorkTel" placeholder="请输入服务热线" maxlength="12" show-word-limit />
-              </el-form-item>
+                <el-form-item label="服务热线" prop="contactWorkTel">
+                  <el-input v-model="form.contactWorkTel" placeholder="请输入服务热线" maxlength="12" show-word-limit />
+                </el-form-item>
               </el-col>
               <el-col :span="12">
                 <el-form-item label="是否打印小票" prop="isPrint">
                   <el-select v-model="form.isPrint" placeholder="请输入" show-word-limit>
-                    <el-option
-                      v-for="item in options"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
+                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                     </el-option>
                   </el-select>
                 </el-form-item>
@@ -142,31 +120,21 @@
               <el-col :span="12">
                 <el-form-item label="小票是否打印客户姓名" prop="isPrint">
                   <el-select v-model="form.isPrintName" placeholder="请输入" show-word-limit>
-                    <el-option
-                      v-for="item in options"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
+                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="24">
-              <el-form-item label="门店照片" prop="companyPic">
-                <image-upload v-model="form.companyPic" />
-              </el-form-item>
+                <el-form-item label="门店照片" prop="companyPic">
+                  <image-upload v-model="form.companyPic" />
+                </el-form-item>
               </el-col>
               <el-col :span="24">
                 <el-form-item label="营业时间">
                   <template>
-                    <el-time-picker
-                      is-range
-                      v-model="businessTimeList"
-                      format="HH:mm" value-format="HH:mm"
-                      range-separator="至"
-                      start-placeholder="开始时间"
-                      end-placeholder="结束时间"
-                      placeholder="选择时间范围">
+                    <el-time-picker is-range v-model="businessTimeList" format="HH:mm" value-format="HH:mm" range-separator="至"
+                      start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围">
                     </el-time-picker>
                   </template>
                 </el-form-item>
@@ -174,40 +142,37 @@
             </div>
           </template>
 
-      </template>
+        </template>
 
-<!--    账号信息  -->
-      <template v-if="storeTab == '2'">
-        <el-descriptions title="账号信息" :column="1"  border>
-          <template slot="extra" v-if="storeTab2actionPage == '1'">
-            <el-button type="primary"
-                       size="medium"
-                       @click="handelActionStoreTab2"
-                       v-hasPermi="['system:store:edit']" >操作</el-button>
-          </template>
-          <template slot="extra" v-if="storeTab2actionPage == '0'">
-            <el-button type="primary" size="medium" @click="cancelForm" >取消</el-button>
-            <el-button type="primary" size="medium" @click="submitForm" >保存</el-button>
-          </template>
-          <template v-if="storeTab2actionPage == '1'">
-            <el-descriptions-item label="开户行">{{form.bankName}}</el-descriptions-item>
-            <el-descriptions-item label="姓名">{{form.bankUserName}}</el-descriptions-item>
-            <el-descriptions-item label="银行卡号">{{form.bankCardNumber}}</el-descriptions-item>
+        <!--    账号信息  -->
+        <template v-if="storeTab == '2'">
+          <el-descriptions title="账号信息" :column="1" border>
+            <template slot="extra" v-if="storeTab2actionPage == '1'">
+              <el-button type="primary" size="medium" @click="handelActionStoreTab2" v-hasPermi="['system:store:edit']">操作</el-button>
+            </template>
+            <template slot="extra" v-if="storeTab2actionPage == '0'">
+              <el-button type="primary" size="medium" @click="cancelForm">取消</el-button>
+              <el-button type="primary" size="medium" @click="submitForm">保存</el-button>
+            </template>
+            <template v-if="storeTab2actionPage == '1'">
+              <el-descriptions-item label="开户行">{{form.bankName}}</el-descriptions-item>
+              <el-descriptions-item label="姓名">{{form.bankUserName}}</el-descriptions-item>
+              <el-descriptions-item label="银行卡号">{{form.bankCardNumber}}</el-descriptions-item>
+            </template>
+          </el-descriptions>
+          <template v-if="storeTab2actionPage == '0'">
+            <el-form-item label="开户行" prop="bankName">
+              <el-input v-model="form.bankName" />
+            </el-form-item>
+            <el-form-item label="姓名" prop="bankUserName">
+              <el-input v-model="form.bankUserName" />
+            </el-form-item>
+            <el-form-item label="银行卡号" prop="bankCardNumber">
+              <el-input v-model="form.bankCardNumber" />
+            </el-form-item>
           </template>
-        </el-descriptions>
-        <template v-if="storeTab2actionPage == '0'">
-          <el-form-item label="开户行" prop="bankName">
-            <el-input v-model="form.bankName" />
-          </el-form-item>
-          <el-form-item label="姓名" prop="bankUserName">
-            <el-input v-model="form.bankUserName" />
-          </el-form-item>
-          <el-form-item label="银行卡号" prop="bankCardNumber">
-            <el-input v-model="form.bankCardNumber" />
-          </el-form-item>
         </template>
-      </template>
-     </el-form>
+      </el-form>
     </el-row>
   </div>
 </template>
@@ -220,13 +185,13 @@ import {
 import { formatDate } from '@/utils'
 export default {
   name: "storeBase",
-  dicts: ['goods_type','sys_normal_disable'],
+  dicts: ['goods_type', 'sys_normal_disable'],
   data() {
     return {
-      storeTab:'1',
-      storeTab1actionPage:'1',
-      storeTab2actionPage:'1',
-      businessTimeList:[],
+      storeTab: '1',
+      storeTab1actionPage: '1',
+      storeTab2actionPage: '1',
+      businessTimeList: [],
       // 遮罩层
       loading: true,
       // 选中数组
@@ -268,13 +233,13 @@ export default {
     this.getList();
   },
   methods: {
-    handelActionStoreTab1(){
+    handelActionStoreTab1() {
       this.storeTab1actionPage = '0'
     },
-    handelActionStoreTab2(){
+    handelActionStoreTab2() {
       this.storeTab2actionPage = '0'
     },
-    onChangeStoreTab(){
+    onChangeStoreTab() {
       this.handleQuery()
     },
     /** 搜索按钮操作 */
@@ -290,7 +255,7 @@ export default {
         this.form = response.data;
         this.businessTimeList.push(response.data.businessStartTime != null && response.data.businessStartTime != '' ? response.data.businessStartTime : '');
         this.businessTimeList.push(response.data.businessEndTime != null && response.data.businessEndTime != '' ? response.data.businessEndTime : '');
-        if (this.form.openDate != null ){
+        if (this.form.openDate != null) {
           this.form.openDateParse = new Date(this.form.openDate).toLocaleDateString();
         }
         this.storeTab1actionPage = '1';
@@ -318,15 +283,15 @@ export default {
       };
       this.resetForm("form");
     },
-    cancelForm(){
+    cancelForm() {
       this.getList();
     },
     /** 提交按钮 */
     submitForm() {
-    if (this.form.id != null) {
-      updateStore(this.form).then(response => {
-        this.$modal.msgSuccess("修改成功");
-        this.getList();
+      if (this.form.id != null) {
+        updateStore(this.form).then(response => {
+          this.$modal.msgSuccess("修改成功");
+          this.getList();
         });
       }
     }
@@ -334,7 +299,7 @@ export default {
 };
 </script>
 <style>
-.action1{
-  margin-top: 20px;
+.action1 {
+    margin-top: 20px;
 }
 </style>

+ 2 - 0
src/views/workbench/workAppointmentOrder/index.vue

@@ -558,6 +558,7 @@ export default {
         /** 派单按钮操作 */
         handleUpdate(row) {
             this.reset()
+            console.log("this.form.appointmentStatus", row.appointmentStatus)
             var userInfoVO = this.getUserInfo()
             if (userInfoVO.userType == '01') {
                 this.openDeliveryPage = true
@@ -578,6 +579,7 @@ export default {
                 this.open = true
                 this.form.orderNo = row.orderNo
                 this.form.appointmentStatus = row.appointmentStatus
+                
             }
         },
         /** 提交按钮 */