xuhaifeng před 10 měsíci
rodič
revize
bdc3cb0bd8

+ 17 - 7
src/views/coupon/sendCouponCount/index.vue

@@ -29,19 +29,30 @@
                     <dict-tag :options="dict.type.coupon_type" :value="scope.row.discountWay" />
                     <dict-tag :options="dict.type.coupon_type" :value="scope.row.discountWay" />
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="活动名称" align="center" prop="activityTitle" width="120" :show-overflow-tooltip="true" />
+            <el-table-column label="券值" align="center" prop="deductAmount" width="150">
+                <template slot-scope="scope">
+                    <span v-if="scope.row.discountWay == 0">满{{ scope.row.minAmount }}元减{{ scope.row.deductAmount }}元</span>
+                    <span v-if="scope.row.discountWay == 1">满{{ scope.row.minAmount }}件减{{ scope.row.deductAmount }}件</span>
+                    <span v-if="scope.row.discountWay == 2">折扣比例:{{ scope.row.discountRate }}%</span>
+                </template>
+            </el-table-column>
             <!--      <el-table-column label="活动ID" align="center" prop="activityInfoId" />-->
             <!--      <el-table-column label="活动ID" align="center" prop="activityInfoId" />-->
-            <!--      <el-table-column label="发放门店/工厂" align="center" prop="orgName" width="120" :show-overflow-tooltip="true" />-->
+            <el-table-column label="所属门店" align="center" prop="orgName" width="120" :show-overflow-tooltip="true" />
             <el-table-column label="客户姓名" align="center" prop="appUserName" width="100" />
             <el-table-column label="客户姓名" align="center" prop="appUserName" width="100" />
             <el-table-column label="客户手机号" align="center" prop="appUserPhone" width="120" />
             <el-table-column label="客户手机号" align="center" prop="appUserPhone" width="120" />
 
 
             <el-table-column label="有效期开始时间" align="center" prop="startDate" width="180"> </el-table-column>
             <el-table-column label="有效期开始时间" align="center" prop="startDate" width="180"> </el-table-column>
             <el-table-column label="有效期结束时间" align="center" prop="endDate" width="180"> </el-table-column>
             <el-table-column label="有效期结束时间" align="center" prop="endDate" width="180"> </el-table-column>
-            <el-table-column label="是否单件抵扣券" align="center" prop="isUnique" width="180">
+            <el-table-column label="活动名称" align="center" prop="activityTitle" width="120" :show-overflow-tooltip="true">
                 <template slot-scope="scope">
                 <template slot-scope="scope">
-                    <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isUnique" />
+                    <sapn>{{ scope.row.activityTitle ? scope.row.activityTitle : '--' }}</sapn>
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
+            <!--            <el-table-column label="是否单件抵扣券" align="center" prop="isUnique" width="180">-->
+            <!--                <template slot-scope="scope">-->
+            <!--                    <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isUnique" />-->
+            <!--                </template>-->
+            <!--            </el-table-column>-->
             <!--      <el-table-column label="是否手动发券" align="center" prop="canManual" width="180">-->
             <!--      <el-table-column label="是否手动发券" align="center" prop="canManual" width="180">-->
             <!--        <template slot-scope="scope">-->
             <!--        <template slot-scope="scope">-->
             <!--          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.canManual"/>-->
             <!--          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.canManual"/>-->
@@ -52,10 +63,9 @@
                     <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isUsed" />
                     <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isUsed" />
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="核销时间" align="center" prop="usedTime" width="180"> </el-table-column>
-            <el-table-column label="抵用金额(元)" align="center" prop="deductAmount" width="120" />
+            <!--            <el-table-column label="抵用金额(元)" align="center" prop="deductAmount" width="120" />-->
             <el-table-column label="发券时间" align="center" prop="createTime" width="160" />
             <el-table-column label="发券时间" align="center" prop="createTime" width="160" />
-
+            <el-table-column label="核销时间" align="center" prop="usedTime" width="180"> </el-table-column>
             <!--      <el-table-column label="核销订单编码" align="center" prop="deductOrderNo" width="150"/>-->
             <!--      <el-table-column label="核销订单编码" align="center" prop="deductOrderNo" width="150"/>-->
         </el-table>
         </el-table>
 
 

+ 599 - 610
src/views/order/cloth/searchCloth.vue

@@ -1,214 +1,203 @@
 <template>
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item prop="flowStatus">
-        <el-select v-model="queryParams.flowStatus" placeholder="请选择衣服状态" clearable>
-          <el-option key="0" label="清洗中" value="0" />
-          <el-option key="1" label="已上挂" value="1" />
-          <el-option key="2" label="已取衣" value="2" />
-        </el-select>
-      </el-form-item>
-      <el-form-item>
-        <el-date-picker v-model="createTimeRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-"
-          start-placeholder="下单日期" end-placeholder="结束日期"></el-date-picker>
-      </el-form-item>
-      <el-form-item prop="washCode">
-        <el-input v-model="queryParams.washCode" placeholder="请输入衣服条码" clearable @keyup.enter.native="handleQuery" />
-      </el-form-item>
-      <el-form-item prop="clothItemName">
-        <el-input v-model="queryParams.clothItemName" placeholder="请输入衣服名称" clearable @keyup.enter.native="handleQuery" />
-      </el-form-item>
-      <el-form-item>
-        <el-date-picker v-model="takeClothTimeRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-"
-          start-placeholder="取衣日期" end-placeholder="结束日期"></el-date-picker>
-      </el-form-item>
+    <div class="app-container">
+        <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+            <el-form-item prop="flowStatus">
+                <el-select v-model="queryParams.flowStatus" placeholder="请选择衣服状态" clearable>
+                    <el-option key="0" label="清洗中" value="0" />
+                    <el-option key="1" label="已上挂" value="1" />
+                    <el-option key="2" label="已取衣" value="2" />
+                </el-select>
+            </el-form-item>
+            <el-form-item>
+                <el-date-picker v-model="createTimeRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="下单日期" end-placeholder="结束日期"></el-date-picker>
+            </el-form-item>
+            <el-form-item prop="washCode">
+                <el-input v-model="queryParams.washCode" placeholder="请输入衣服条码" clearable @keyup.enter.native="handleQuery" />
+            </el-form-item>
+            <el-form-item prop="clothItemName">
+                <el-input v-model="queryParams.clothItemName" placeholder="请输入衣服名称" clearable @keyup.enter.native="handleQuery" />
+            </el-form-item>
+            <el-form-item>
+                <el-date-picker v-model="takeClothTimeRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="取衣日期" end-placeholder="结束日期"></el-date-picker>
+            </el-form-item>
 
 
-      <el-form-item prop="appUserPhoneNumber">
-        <el-input v-model="queryParams.appUserPhoneNumber" placeholder="请输入客户电话" clearable @keyup.enter.native="handleQuery" />
-      </el-form-item>
-      <el-form-item prop="clothHangerId">
-        <el-input v-model="queryParams.clothHangerId" placeholder="请输入挂衣号" clearable @keyup.enter.native="handleQuery" />
-      </el-form-item>
+            <el-form-item prop="appUserPhoneNumber">
+                <el-input v-model="queryParams.appUserPhoneNumber" placeholder="请输入客户电话" clearable @keyup.enter.native="handleQuery" />
+            </el-form-item>
+            <el-form-item prop="clothHangerId">
+                <el-input v-model="queryParams.clothHangerId" placeholder="请输入挂衣号" clearable @keyup.enter.native="handleQuery" />
+            </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-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>
+        <el-row :gutter="10" class="mb8">
+            <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
 
 
-    <Page uri="/mapi/order/clothItem/list" :request-params="queryParams" ref="pagination">
-      <el-table-column label="订单编号" align="center" prop="orderNo" min-width="100" fixed="left" />
-      <el-table-column label="衣物条码" align="center" prop="washCode"  />
-      <el-table-column label="衣服名称" align="center" prop="clothItemName"/>
-      <el-table-column label="客户信息" align="center" prop="appUserName" width="150">
-        <template slot-scope="scope">
-          <span>{{ scope.row.appUserName ? scope.row.appUserName : "--" }} </span>
-          <br />
-          <span>{{ scope.row.appUserPhoneNumber ? scope.row.appUserPhoneNumber : "" }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="颜色" align="center" width="200">
-        <template slot-scope="scope">
-          <template v-for="(item, index) in scope.row.orderClothColors">
-            {{ index == 0 ? item.clothColorName : ',' + item.clothColorName }}
-          </template>
-        </template>
-      </el-table-column>
-      <el-table-column label="挂衣号" align="center" width="200">
-        <template slot-scope="scope">
-          <span v-if="scope.row.clothHanger">
-            {{ scope.row.clothHanger.name + '#' + scope.row.clothHangerCode }}
-          </span>
-          <span v-else>暂无</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="状态" align="center" prop="flowStatus" width="80">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.order_cloth_flow_status" :value="scope.row.flowStatus" />
-        </template>
-      </el-table-column>
-      <el-table-column label="下单时间" align="center" prop="createTime" />
-      <el-table-column label="取衣时间" align="center" prop="sendClothTime" >
-        <template slot-scope="scope">
-          <span v-if="scope.row.sendClothTime">
-            {{ scope.row.clothHanger.sendClothTime}}
-          </span>
-          <span v-else>--</span>
-        </template>
+        <Page uri="/mapi/order/clothItem/list" :request-params="queryParams" ref="pagination">
+            <el-table-column label="订单编号" align="center" prop="orderNo" min-width="100" fixed="left" />
+            <el-table-column label="衣物条码" align="center" prop="washCode" />
+            <el-table-column label="衣服名称" align="center" prop="clothItemName" />
+            <el-table-column label="客户信息" align="center" prop="appUserName" width="150">
+                <template slot-scope="scope">
+                    <span>{{ scope.row.appUserName ? scope.row.appUserName : '--' }} </span>
+                    <br />
+                    <span>{{ scope.row.appUserPhoneNumber ? scope.row.appUserPhoneNumber : '' }}</span>
+                </template>
+            </el-table-column>
+            <el-table-column label="颜色" align="center">
+                <template slot-scope="scope">
+                    <template v-for="(item, index) in scope.row.orderClothColors">
+                        {{ index == 0 ? item.clothColorName : ',' + item.clothColorName }}
+                    </template>
+                </template>
+            </el-table-column>
+            <el-table-column label="挂衣号" align="center">
+                <template slot-scope="scope">
+                    <span v-if="scope.row.clothHanger">
+                        {{ scope.row.clothHanger.name + '#' + scope.row.clothHangerCode }}
+                    </span>
+                    <span v-else>暂无</span>
+                </template>
+            </el-table-column>
+            <el-table-column label="状态" align="center" prop="flowStatus" width="80">
+                <template slot-scope="scope">
+                    <dict-tag :options="dict.type.order_cloth_flow_status" :value="scope.row.flowStatus" />
+                </template>
+            </el-table-column>
+            <el-table-column label="下单时间" align="center" prop="createTime" />
+            <el-table-column label="取衣时间" align="center" prop="sendClothTime">
+                <template slot-scope="scope">
+                    <span v-if="scope.row.sendClothTime">
+                        {{ scope.row.clothHanger.sendClothTime }}
+                    </span>
+                    <span v-else>--</span>
+                </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">
+                    <el-button type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">详情</el-button>
+                    <el-button type="text" icon="el-icon-camera" @click="handphotograph(scope.row)">拍照</el-button>
+                    <el-button type="text" icon="el-icon-printer" v-if="userInfoVO.userType != '00'" @click="btn_pointer_label(scope.row)">标签打印</el-button>
+                </template>
+            </el-table-column>
+        </Page>
 
 
-      <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)">详情</el-button>
-          <el-button type="text" icon="el-icon-camera" @click="handphotograph(scope.row)">拍照</el-button>
-          <el-button type="text" icon="el-icon-printer" v-if="userInfoVO.userType != '00'" @click="btn_pointer_label(scope.row)">标签打印</el-button>
-        </template>
-      </el-table-column>
-    </Page>
+        <!-- 添加或修改洗衣订单衣服明细对话框 -->
+        <el-dialog :title="title" :visible.sync="open" size="50%" append-to-body>
+            <el-row :gutter="15" style="margin-bottom: 80px; margin-left: 20px; width: calc(100% - 20px)">
+                <el-col :span="24">
+                    <el-descriptions class="margin-top" :column="2" border>
+                        <el-descriptions-item>
+                            <template slot="label"> 衣物条码 </template>
+                            {{ form.washCode }}
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 洗衣单号 </template>
+                            {{ form.orderNo }}
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 衣服名称 </template>
+                            {{ form.clothItemName }}
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 颜色 </template>
+                            <el-tag size="small" v-for="(item, index) in form.orderClothColors" :key="index" style="margin-right: 10px; margin-bottom: 2.5px; margin-top: 2.5px">{{ item.clothColorName }}</el-tag>
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 瑕疵 </template>
+                            <el-tag size="small" v-for="(item, index) in form.orderClothFlaws" :key="index" style="margin-right: 10px; margin-bottom: 2.5px; margin-top: 2.5px">{{ item.clothFlawName }}</el-tag>
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 特殊处理 </template>
+                            <el-tag size="small" v-for="(item, index) in form.orderClothCrafts" :key="index" style="margin-right: 10px; margin-bottom: 2.5px; margin-top: 2.5px">{{ item.clothCraftName + '(¥' + item.price + ')' }}</el-tag>
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 附件 </template>
+                            <el-tag size="small" v-for="(item, index) in form.orderClothAdjuncts" :key="index" style="margin-right: 10px; margin-bottom: 2.5px; margin-top: 2.5px">{{ item.adjunctName + '*' + item.num }}</el-tag>
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 挂衣号 </template>
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 预计取衣 </template>
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 衣服状态 </template>
+                            <dict-tag :options="dict.type.order_cloth_flow_status" :value="form.flowStatus" />
+                        </el-descriptions-item>
+                        <el-descriptions-item>
+                            <template slot="label"> 照片 </template>
+                            <template v-if="form.pics">
+                                <el-image v-for="(item, index) in form.pics.split(',')" :key="index" style="width: 100px; height: 100px; margin-right: 10px; margin-top: 2.5px; margin-bottom: 2.5px" :src="item" :preview-src-list="form.pics.split(',')"> </el-image>
+                            </template>
+                        </el-descriptions-item>
+                    </el-descriptions>
+                </el-col>
+                <el-col :span="24" style="margin-top: 10px">
+                    <el-table :data="flowRecords">
+                        <el-table-column label="操作" align="center">
+                            <template slot-scope="scope">
+                                <dict-tag :options="dict.type.order_cloth_flow_action" :value="scope.row.flowStatus" />
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="时间" align="center" prop="createTime" />
+                        <el-table-column label="操作人" align="center" prop="operateName" />
+                        <el-table-column label="单位" align="center" prop="operateOrgName" />
+                    </el-table>
+                </el-col>
+            </el-row>
 
 
-    <!-- 添加或修改洗衣订单衣服明细对话框 -->
-    <el-dialog :title="title" :visible.sync="open" size="50%" append-to-body>
-      <el-row :gutter="15" style="margin-bottom: 80px; margin-left: 20px; width: calc(100% - 20px)">
-        <el-col :span="24">
-          <el-descriptions class="margin-top" :column="2" border>
-            <el-descriptions-item>
-              <template slot="label"> 衣物条码 </template>
-              {{ form.washCode }}
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 洗衣单号 </template>
-              {{ form.orderNo }}
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 衣服名称 </template>
-              {{ form.clothItemName }}
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 颜色 </template>
-              <el-tag size="small" v-for="(item, index) in form.orderClothColors" :key="index"
-                style="margin-right: 10px; margin-bottom: 2.5px; margin-top: 2.5px">{{ item.clothColorName }}</el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 瑕疵 </template>
-              <el-tag size="small" v-for="(item, index) in form.orderClothFlaws" :key="index"
-                style="margin-right: 10px; margin-bottom: 2.5px; margin-top: 2.5px">{{ item.clothFlawName }}</el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 特殊处理 </template>
-              <el-tag size="small" v-for="(item, index) in form.orderClothCrafts" :key="index"
-                style="margin-right: 10px; margin-bottom: 2.5px; margin-top: 2.5px">{{ item.clothCraftName + '(¥' + item.price + ')' }}</el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 附件 </template>
-              <el-tag size="small" v-for="(item, index) in form.orderClothAdjuncts" :key="index"
-                style="margin-right: 10px; margin-bottom: 2.5px; margin-top: 2.5px">{{ item.adjunctName + '*' + item.num }}</el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 挂衣号 </template>
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 预计取衣 </template>
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 衣服状态 </template>
-              <dict-tag :options="dict.type.order_cloth_flow_status" :value="form.flowStatus" />
-            </el-descriptions-item>
-            <el-descriptions-item>
-              <template slot="label"> 照片 </template>
-              <template v-if="form.pics">
-                <el-image v-for="(item, index) in form.pics.split(',')" :key="index"
-                  style="width: 100px; height: 100px; margin-right: 10px; margin-top: 2.5px; margin-bottom: 2.5px" :src="item"
-                  :preview-src-list="form.pics.split(',')"> </el-image>
-              </template>
-            </el-descriptions-item>
-          </el-descriptions>
-        </el-col>
-        <el-col :span="24" style="margin-top: 10px">
-          <el-table :data="flowRecords">
-            <el-table-column label="操作" align="center">
-              <template slot-scope="scope">
-                <dict-tag :options="dict.type.order_cloth_flow_action" :value="scope.row.flowStatus" />
-              </template>
-            </el-table-column>
-            <el-table-column label="时间" align="center" prop="createTime" />
-            <el-table-column label="操作人" align="center" prop="operateName" />
-            <el-table-column label="单位" align="center" prop="operateOrgName" />
-          </el-table>
-        </el-col>
-      </el-row>
+            <div slot="footer" class="dialog-footer">
+                <!--        <el-button type="primary" @click="submitForm" style="margin-left: 5%">提交</el-button>-->
+                <el-button @click="cancel" style="margin-left: 5%">关 闭</el-button>
+            </div>
+        </el-dialog>
 
 
-      <div slot="footer" class="dialog-footer">
-        <!--        <el-button type="primary" @click="submitForm" style="margin-left: 5%">提交</el-button>-->
-        <el-button @click="cancel" style="margin-left: 5%">关 闭</el-button>
-      </div>
-    </el-dialog>
+        <!-- 拍照上传 -->
+        <el-dialog title="拍照上传" :visible.sync="photographType" :before-close="hidephotograph" width="55%">
+            <div class="photo_content">
+                <div class="video_content">
+                    <div class="loading" v-if="videoType">
+                        <el-button type="text" :loading="true" disabled>加载中请稍后</el-button>
+                    </div>
+                    <video class="videoElement" ref="videoElement" autoplay></video>
+                </div>
 
 
-    <!-- 拍照上传 -->
-    <el-dialog title="拍照上传" :visible.sync="photographType" :before-close="hidephotograph" width="55%">
-      <div class="photo_content">
-        <div class="video_content">
-          <div class="loading" v-if="videoType">
-            <el-button type="text" :loading="true" disabled>加载中请稍后</el-button>
-          </div>
-          <video class="videoElement" ref="videoElement" autoplay></video>
-        </div>
+                <div class="view">
+                    <div class="btn_box">
+                        <el-button class="btn_photo" :loading="photoType" :disabled="photoType" icon="el-icon-camera" type="primary" plain @click="takePhoto" v-if="!videoType">拍照上传</el-button>
 
 
-        <div class="view">
-          <div class="btn_box">
-            <el-button class="btn_photo" :loading="photoType" :disabled="photoType" icon="el-icon-camera" type="primary" plain @click="takePhoto"
-              v-if="!videoType">拍照上传</el-button>
+                        <el-upload v-if="photographimgList.length < 9" class="btn_upload" :action="uploadAction" :before-upload="handleBeforeUpload" :on-success="handleUploadSuccess" :on-error="handleUploadError" accept="image/*" :show-file-list="false" ref="fileUpload">
+                            <el-button icon="el-icon-folder" plain type="primary">上传本地文件</el-button>
+                        </el-upload>
+                    </div>
 
 
-            <el-upload v-if="photographimgList.length < 9" class="btn_upload" :action="uploadAction" :before-upload="handleBeforeUpload"
-              :on-success="handleUploadSuccess" :on-error="handleUploadError" accept="image/*" :show-file-list="false" ref="fileUpload">
-              <el-button icon="el-icon-folder" plain type="primary">上传本地文件</el-button>
-            </el-upload>
-          </div>
+                    <div class="image_list" v-if="photographimgList.length">
+                        <div class="image_item" v-for="(item, index) in photographimgList" :key="index">
+                            <el-image style="width: 120px; height: 120px" :src="item.src ? item.src : item.url" :preview-src-list="previewimgList"> </el-image>
 
 
-          <div class="image_list" v-if="photographimgList.length">
-            <div class="image_item" v-for="(item, index) in photographimgList" :key="index">
-              <el-image style="width: 120px; height: 120px" :src="item.src ? item.src : item.url" :preview-src-list="previewimgList"> </el-image>
+                            <div class="image_bottom">
+                                <el-button type="danger" icon="el-icon-delete" @click="btn_remove(item, index)"></el-button>
+                                <el-button v-if="item.type" type="success" icon="el-icon-check"></el-button>
+                            </div>
+                        </div>
+                    </div>
 
 
-              <div class="image_bottom">
-                <el-button type="danger" icon="el-icon-delete" @click="btn_remove(item, index)"></el-button>
-                <el-button v-if="item.type" type="success" icon="el-icon-check"></el-button>
-              </div>
+                    <el-empty :image-size="200" v-else></el-empty>
+                </div>
             </div>
             </div>
-          </div>
-
-          <el-empty :image-size="200" v-else></el-empty>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="hidephotograph">关 闭</el-button>
-        <el-button type="primary" @click="btn_submit">保 存</el-button>
-      </span>
-    </el-dialog>
-  </div>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="hidephotograph">关 闭</el-button>
+                <el-button type="primary" @click="btn_submit">保 存</el-button>
+            </span>
+        </el-dialog>
+    </div>
 </template>
 </template>
 
 
 <script>
 <script>
@@ -218,443 +207,443 @@ import { uploadBase64OSS, uploadOSS, saveOrderClothPics } from '@/api/upload'
 import { getLodop } from '@/utils/lodopUtils'
 import { getLodop } from '@/utils/lodopUtils'
 
 
 export default {
 export default {
-  name: 'ClothItem',
-  dicts: ['sys_yes_no', 'order_cloth_flow_status', 'order_cloth_flow_action'],
-  data() {
-    return {
-      uploadAction: `${process.env.VUE_APP_BASE_API}` + '/common/uploadOSS',
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 洗衣订单衣服明细表格数据
-      clothItemList: [],
-      // 弹出层标题
-      title: '',
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        clothItemName: null,
-        washCode: null,
-        clothHangerId: null
-      },
-      createTimeRange: [],
-      takeClothTimeRange: [],
-      // 表单参数
-      form: {},
-      flowRecords: [],
-      // 表单校验
-      rules: {},
-      photographType: false,
-      photographimgList: [],
-      previewimgList: [],
-      uploadList: [],
-      photoLoading: true,
-      clothId: null,
-      stream: null,
-      fileType: ['png', 'jpg', 'jpeg'],
-      number: 0,
-      videoType: true,
-      photoType: false,
+    name: 'ClothItem',
+    dicts: ['sys_yes_no', 'order_cloth_flow_status', 'order_cloth_flow_action'],
+    data() {
+        return {
+            uploadAction: `${process.env.VUE_APP_BASE_API}` + '/common/uploadOSS',
+            // 遮罩层
+            loading: true,
+            // 选中数组
+            ids: [],
+            // 非单个禁用
+            single: true,
+            // 非多个禁用
+            multiple: true,
+            // 显示搜索条件
+            showSearch: true,
+            // 总条数
+            total: 0,
+            // 洗衣订单衣服明细表格数据
+            clothItemList: [],
+            // 弹出层标题
+            title: '',
+            // 是否显示弹出层
+            open: false,
+            // 查询参数
+            queryParams: {
+                clothItemName: null,
+                washCode: null,
+                clothHangerId: null
+            },
+            createTimeRange: [],
+            takeClothTimeRange: [],
+            // 表单参数
+            form: {},
+            flowRecords: [],
+            // 表单校验
+            rules: {},
+            photographType: false,
+            photographimgList: [],
+            previewimgList: [],
+            uploadList: [],
+            photoLoading: true,
+            clothId: null,
+            stream: null,
+            fileType: ['png', 'jpg', 'jpeg'],
+            number: 0,
+            videoType: true,
+            photoType: false,
 
 
-      LODOP: null,
-      number: 1,
-      pointerList: [],
-
-      userInfoVO: null
-    }
-  },
-  created() {
-    this.userInfoVO = this.getUserInfo()
-    this.getList()
-  },
-  mounted() {
-    this.number = 1
-    const printerTime = setInterval(() => {
-      this.LODOP = getLodop()
-      this.number++
-      if (this.number == 25) {
-        clearInterval(printerTime)
-      }
-      if (this.LODOP) {
-        clearInterval(printerTime)
-      }
-    }, 200)
+            LODOP: null,
+            number: 1,
+            pointerList: [],
 
 
-    this.pointerList = JSON.parse(this.$cache.local.get('printerSeting'))
-  },
-  methods: {
-    // 上传前校检格式和大小
-    handleBeforeUpload(file) {
-      console.log(file)
-      // 校检文件类型
-      if (this.fileType) {
-        const fileName = file.name.split('.')
-        const fileExt = fileName[fileName.length - 1]
-        const isTypeOk = this.fileType.indexOf(fileExt) >= 0
-        if (!isTypeOk) {
-          this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join('/')}格式文件!`)
-          return false
+            userInfoVO: null
         }
         }
-      }
-      // 校检文件大小
-      const isLt = file.size / 1024 / 1024 < 3
-      if (!isLt) {
-        this.$message.error(`上传文件大小不能超过 3MB!`)
-        return false
-      }
-      this.$modal.loading('正在上传文件,请稍候...')
-      // this.number++;
-      return true
     },
     },
-    handleUploadSuccess(res, file) {
-      if (res.code === 200) {
-        this.previewimgList.push(res.data.src)
-        this.uploadList.push({ name: res.data.fileName, url: res.data.src })
-        this.uploadedSuccessfully()
-      } else {
-        // this.number--;
-        this.$modal.closeLoading()
-        this.$modal.msgError(res.msg)
-        this.$refs.fileUpload.handleRemove(file)
-        this.uploadedSuccessfully()
-      }
-    },
-    handleUploadError() {
-      this.$modal.msgError('上传文件失败,请重试')
-      this.$modal.closeLoading()
+    created() {
+        this.userInfoVO = this.getUserInfo()
+        this.getList()
     },
     },
-    // 上传结束处理
-    uploadedSuccessfully() {
-      if (this.uploadList.length) {
-        // this.fileList = this.fileList.concat(this.uploadList);
-        this.uploadList.forEach((item) => {
-          this.photographimgList.push({
-            src: item.url,
-            fileName: item.fileName,
-            type: true
-          })
-        })
-        this.uploadList = []
-        // this.number = 0;
-        this.$modal.closeLoading()
+    mounted() {
+        this.number = 1
+        const printerTime = setInterval(() => {
+            this.LODOP = getLodop()
+            this.number++
+            if (this.number == 25) {
+                clearInterval(printerTime)
+            }
+            if (this.LODOP) {
+                clearInterval(printerTime)
+            }
+        }, 200)
 
 
-        this.getuploadState()
-      }
+        this.pointerList = JSON.parse(this.$cache.local.get('printerSeting'))
     },
     },
-    //根据上传文件状态判断显示
-    getuploadState() {
-      // 初始状态值
-      let state = true
+    methods: {
+        // 上传前校检格式和大小
+        handleBeforeUpload(file) {
+            console.log(file)
+            // 校检文件类型
+            if (this.fileType) {
+                const fileName = file.name.split('.')
+                const fileExt = fileName[fileName.length - 1]
+                const isTypeOk = this.fileType.indexOf(fileExt) >= 0
+                if (!isTypeOk) {
+                    this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join('/')}格式文件!`)
+                    return false
+                }
+            }
+            // 校检文件大小
+            const isLt = file.size / 1024 / 1024 < 3
+            if (!isLt) {
+                this.$message.error(`上传文件大小不能超过 3MB!`)
+                return false
+            }
+            this.$modal.loading('正在上传文件,请稍候...')
+            // this.number++;
+            return true
+        },
+        handleUploadSuccess(res, file) {
+            if (res.code === 200) {
+                this.previewimgList.push(res.data.src)
+                this.uploadList.push({ name: res.data.fileName, url: res.data.src })
+                this.uploadedSuccessfully()
+            } else {
+                // this.number--;
+                this.$modal.closeLoading()
+                this.$modal.msgError(res.msg)
+                this.$refs.fileUpload.handleRemove(file)
+                this.uploadedSuccessfully()
+            }
+        },
+        handleUploadError() {
+            this.$modal.msgError('上传文件失败,请重试')
+            this.$modal.closeLoading()
+        },
+        // 上传结束处理
+        uploadedSuccessfully() {
+            if (this.uploadList.length) {
+                // this.fileList = this.fileList.concat(this.uploadList);
+                this.uploadList.forEach((item) => {
+                    this.photographimgList.push({
+                        src: item.url,
+                        fileName: item.fileName,
+                        type: true
+                    })
+                })
+                this.uploadList = []
+                // this.number = 0;
+                this.$modal.closeLoading()
 
 
-      // 判断数组中的所有元素是否都为true
-      if (this.photographimgList.every((item) => item.type === true)) {
-        state = false
-      } else {
-        state = true
-      }
+                this.getuploadState()
+            }
+        },
+        //根据上传文件状态判断显示
+        getuploadState() {
+            // 初始状态值
+            let state = true
 
 
-      return state
-    },
-    /** 查询洗衣订单衣服明细列表 */
-    getList() {
-      this.loading = true
-      if (null != this.createTimeRange && '' != this.createTimeRange) {
-        this.queryParams['beginCreateTime'] = this.createTimeRange[0]
-        this.queryParams['endCreateTime'] = this.createTimeRange[1]
-      } else {
-        delete this.queryParams.beginCreateTime
-        delete this.queryParams.endCreateTime
-      }
-      if (null != this.takeClothTimeRange && '' != this.takeClothTimeRange) {
-        this.queryParams['beginTakeClothTime'] = this.takeClothTimeRange[0]
-        this.queryParams['endTakeClothTime'] = this.takeClothTimeRange[1]
-      } else {
-        delete this.queryParams.beginTakeClothTime
-        delete this.queryParams.endTakeClothTime
-      }
-      this.$nextTick(() => {
-        this.$refs.pagination.handleSearch(true)
-      })
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false
-      this.reset()
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        id: null,
-        orderId: null,
-        clothItemId: null,
-        clothItemName: null,
-        clothSpeedId: null,
-        clothSpeedName: null,
-        clothMultiple: null,
-        clothWashDayNum: null,
-        price: null,
-        clothNum: null,
-        clothWashModeId: null,
-        clothWashModeName: null,
-        pics: null,
-        washCode: null,
-        clothHangerId: null,
-        isHedging: null,
-        hedgingPrice: null,
-        createById: null,
-        createBy: null,
-        createTime: null,
-        updateById: null,
-        updateBy: null,
-        updateTime: null,
-        remark: null
-      }
-      this.resetForm('form')
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1
-      this.getList()
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm('queryForm')
-      this.handleQuery()
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.id)
-      this.single = selection.length !== 1
-      this.multiple = !selection.length
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset()
-      this.open = true
-      this.title = '添加洗衣订单衣服明细'
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset()
-      this.flowRecords = []
-      const id = row.id || this.ids
-      getClothItem(id).then((response) => {
-        this.form = response.data
-        this.open = true
-        this.title = '衣物详情'
-        listOrderClothFlowRecordByOrderClothId({ orderClothId: id }).then((res) => {
-          this.flowRecords = res.data
-        })
-      })
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs['form'].validate((valid) => {
-        if (valid) {
-          if (this.form.id != null) {
-            updateClothItem(this.form).then((response) => {
-              this.$modal.msgSuccess('修改成功')
-              this.open = false
-              this.getList()
+            // 判断数组中的所有元素是否都为true
+            if (this.photographimgList.every((item) => item.type === true)) {
+                state = false
+            } else {
+                state = true
+            }
+
+            return state
+        },
+        /** 查询洗衣订单衣服明细列表 */
+        getList() {
+            this.loading = true
+            if (null != this.createTimeRange && '' != this.createTimeRange) {
+                this.queryParams['beginCreateTime'] = this.createTimeRange[0]
+                this.queryParams['endCreateTime'] = this.createTimeRange[1]
+            } else {
+                delete this.queryParams.beginCreateTime
+                delete this.queryParams.endCreateTime
+            }
+            if (null != this.takeClothTimeRange && '' != this.takeClothTimeRange) {
+                this.queryParams['beginTakeClothTime'] = this.takeClothTimeRange[0]
+                this.queryParams['endTakeClothTime'] = this.takeClothTimeRange[1]
+            } else {
+                delete this.queryParams.beginTakeClothTime
+                delete this.queryParams.endTakeClothTime
+            }
+            this.$nextTick(() => {
+                this.$refs.pagination.handleSearch(true)
+            })
+        },
+        // 取消按钮
+        cancel() {
+            this.open = false
+            this.reset()
+        },
+        // 表单重置
+        reset() {
+            this.form = {
+                id: null,
+                orderId: null,
+                clothItemId: null,
+                clothItemName: null,
+                clothSpeedId: null,
+                clothSpeedName: null,
+                clothMultiple: null,
+                clothWashDayNum: null,
+                price: null,
+                clothNum: null,
+                clothWashModeId: null,
+                clothWashModeName: null,
+                pics: null,
+                washCode: null,
+                clothHangerId: null,
+                isHedging: null,
+                hedgingPrice: null,
+                createById: null,
+                createBy: null,
+                createTime: null,
+                updateById: null,
+                updateBy: null,
+                updateTime: null,
+                remark: null
+            }
+            this.resetForm('form')
+        },
+        /** 搜索按钮操作 */
+        handleQuery() {
+            this.queryParams.pageNum = 1
+            this.getList()
+        },
+        /** 重置按钮操作 */
+        resetQuery() {
+            this.resetForm('queryForm')
+            this.handleQuery()
+        },
+        // 多选框选中数据
+        handleSelectionChange(selection) {
+            this.ids = selection.map((item) => item.id)
+            this.single = selection.length !== 1
+            this.multiple = !selection.length
+        },
+        /** 新增按钮操作 */
+        handleAdd() {
+            this.reset()
+            this.open = true
+            this.title = '添加洗衣订单衣服明细'
+        },
+        /** 修改按钮操作 */
+        handleUpdate(row) {
+            this.reset()
+            this.flowRecords = []
+            const id = row.id || this.ids
+            getClothItem(id).then((response) => {
+                this.form = response.data
+                this.open = true
+                this.title = '衣物详情'
+                listOrderClothFlowRecordByOrderClothId({ orderClothId: id }).then((res) => {
+                    this.flowRecords = res.data
+                })
             })
             })
-          } else {
-            addClothItem(this.form).then((response) => {
-              this.$modal.msgSuccess('新增成功')
-              this.open = false
-              this.getList()
+        },
+        /** 提交按钮 */
+        submitForm() {
+            this.$refs['form'].validate((valid) => {
+                if (valid) {
+                    if (this.form.id != null) {
+                        updateClothItem(this.form).then((response) => {
+                            this.$modal.msgSuccess('修改成功')
+                            this.open = false
+                            this.getList()
+                        })
+                    } else {
+                        addClothItem(this.form).then((response) => {
+                            this.$modal.msgSuccess('新增成功')
+                            this.open = false
+                            this.getList()
+                        })
+                    }
+                }
             })
             })
-          }
-        }
-      })
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const ids = row.id || this.ids
-      this.$modal
-        .confirm('是否确认删除洗衣订单衣服明细编号为"' + ids + '"的数据项?')
-        .then(function () {
-          return delClothItem(ids)
-        })
-        .then(() => {
-          this.getList()
-          this.$modal.msgSuccess('删除成功')
-        })
-        .catch(() => { })
-    },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download(
-        'mapi/order/clothItem/export',
-        {
-          ...this.queryParams
         },
         },
-        `clothItem_${new Date().getTime()}.xlsx`
-      )
-    },
-    checkClose(done) {
-      this.$confirm('是否关闭表单,关闭后数据将丢失?')
-        .then(function () {
-          done()
-        })
-        .then(() => { })
-        .catch(() => { })
-    },
+        /** 删除按钮操作 */
+        handleDelete(row) {
+            const ids = row.id || this.ids
+            this.$modal
+                .confirm('是否确认删除洗衣订单衣服明细编号为"' + ids + '"的数据项?')
+                .then(function () {
+                    return delClothItem(ids)
+                })
+                .then(() => {
+                    this.getList()
+                    this.$modal.msgSuccess('删除成功')
+                })
+                .catch(() => {})
+        },
+        /** 导出按钮操作 */
+        handleExport() {
+            this.download(
+                'mapi/order/clothItem/export',
+                {
+                    ...this.queryParams
+                },
+                `clothItem_${new Date().getTime()}.xlsx`
+            )
+        },
+        checkClose(done) {
+            this.$confirm('是否关闭表单,关闭后数据将丢失?')
+                .then(function () {
+                    done()
+                })
+                .then(() => {})
+                .catch(() => {})
+        },
 
 
-    //打开拍照弹框 调用摄像头
-    async handphotograph(row) {
-      let objform = Object.assign({}, row)
-      this.clothId = objform.id
+        //打开拍照弹框 调用摄像头
+        async handphotograph(row) {
+            let objform = Object.assign({}, row)
+            this.clothId = objform.id
 
 
-      if (objform.pics) {
-        let imgList = objform.pics.split(',')
-        imgList.forEach((item) => {
-          this.previewimgList.push(item)
-          this.photographimgList.push({
-            type: true,
-            src: item
-          })
-        })
-      }
+            if (objform.pics) {
+                let imgList = objform.pics.split(',')
+                imgList.forEach((item) => {
+                    this.previewimgList.push(item)
+                    this.photographimgList.push({
+                        type: true,
+                        src: item
+                    })
+                })
+            }
 
 
-      this.photographType = true
-      try {
-        this.stream = await navigator.mediaDevices.getUserMedia({ video: true })
-        this.$refs.videoElement.srcObject = this.stream
-        this.videoType = false
-      } catch (error) {
-        this.$modal.msgError('无法访问摄像头')
-        // console.error("无法访问摄像头:", error);
-        // this.photographType = false
-      }
-    },
-    //点击拍照 处理成base64
-    async takePhoto() {
-      this.photoType = true
-      try {
-        const canvas = document.createElement('canvas')
-        const context = canvas.getContext('2d')
-        canvas.width = this.$refs.videoElement.videoWidth
-        canvas.height = this.$refs.videoElement.videoHeight
-        context.drawImage(this.$refs.videoElement, 0, 0, canvas.width, canvas.height)
-        const imageDataUrl = canvas.toDataURL('image/jpeg')
-        if (this.photographimgList.length >= 9) {
-          this.$modal.msgError('照片仅限上传9张')
-          this.photoType = false
-          return
-        }
+            this.photographType = true
+            try {
+                this.stream = await navigator.mediaDevices.getUserMedia({ video: true })
+                this.$refs.videoElement.srcObject = this.stream
+                this.videoType = false
+            } catch (error) {
+                this.$modal.msgError('无法访问摄像头')
+                // console.error("无法访问摄像头:", error);
+                // this.photographType = false
+            }
+        },
+        //点击拍照 处理成base64
+        async takePhoto() {
+            this.photoType = true
+            try {
+                const canvas = document.createElement('canvas')
+                const context = canvas.getContext('2d')
+                canvas.width = this.$refs.videoElement.videoWidth
+                canvas.height = this.$refs.videoElement.videoHeight
+                context.drawImage(this.$refs.videoElement, 0, 0, canvas.width, canvas.height)
+                const imageDataUrl = canvas.toDataURL('image/jpeg')
+                if (this.photographimgList.length >= 9) {
+                    this.$modal.msgError('照片仅限上传9张')
+                    this.photoType = false
+                    return
+                }
 
 
-        let response = await fetch(imageDataUrl)
-        let blob = await response.blob() // 获取图片的 Blob 对象
-        let file = new File([blob], 'image.jpeg', { type: blob.type })
-        //创建form对象
-        let formdata = new FormData()
-        //通过append向form对象添加数据
-        formdata.append('file', file)
+                let response = await fetch(imageDataUrl)
+                let blob = await response.blob() // 获取图片的 Blob 对象
+                let file = new File([blob], 'image.jpeg', { type: blob.type })
+                //创建form对象
+                let formdata = new FormData()
+                //通过append向form对象添加数据
+                formdata.append('file', file)
 
 
-        uploadOSS(formdata)
-          .then((res) => {
-            this.previewimgList.push(res.data.src)
-            this.photographimgList.push({
-              type: true,
-              src: res.data.src
-            })
-            this.photoType = false
-          })
-          .catch(() => {
-            // resolve(false);
-            this.photoType = false
-          })
+                uploadOSS(formdata)
+                    .then((res) => {
+                        this.previewimgList.push(res.data.src)
+                        this.photographimgList.push({
+                            type: true,
+                            src: res.data.src
+                        })
+                        this.photoType = false
+                    })
+                    .catch(() => {
+                        // resolve(false);
+                        this.photoType = false
+                    })
 
 
-        // 上传照片或处理imageDataUrl
-        // this.uploadImage(imageDataUrl); // 调用上传接口或本地处理逻辑
-      } catch (error) {
-        this.photoType = false
-        // console.error("拍照失败:", error);
-      } finally {
-        // this.$refs.videoElement.srcObject.getTracks().forEach((track) => track.stop());
-      }
-    },
-    // 关闭拍照弹框后清除视频流
-    hidephotograph() {
-      const that = this
-      this.$confirm('是否确认关闭当前拍照功能?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          that.photographType = false
-          that.photographimgList = []
-          that.clothId = null
-          if (that.stream) {
-            that.stream.getTracks().forEach((track) => track.stop()) // 停止访问摄像头并释放资源
-            that.$refs.videoElement.srcObject = null // 清除视频流对象
-          }
-        })
-        .catch(() => { })
-    },
-    //删除照片
-    btn_remove(item, index) {
-      const that = this
-      this.$confirm('是否确认删除该照片?')
-        .then(function () { })
-        .then(() => {
-          that.photographimgList.splice(index, 1)
-          that.$modal.msgSuccess('删除成功')
-        })
-        .catch(() => { })
-    },
-    //保存图片
-    btn_submit() {
-      let _type = false
+                // 上传照片或处理imageDataUrl
+                // this.uploadImage(imageDataUrl); // 调用上传接口或本地处理逻辑
+            } catch (error) {
+                this.photoType = false
+                // console.error("拍照失败:", error);
+            } finally {
+                // this.$refs.videoElement.srcObject.getTracks().forEach((track) => track.stop());
+            }
+        },
+        // 关闭拍照弹框后清除视频流
+        hidephotograph() {
+            const that = this
+            this.$confirm('是否确认关闭当前拍照功能?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            })
+                .then(() => {
+                    that.photographType = false
+                    that.photographimgList = []
+                    that.clothId = null
+                    if (that.stream) {
+                        that.stream.getTracks().forEach((track) => track.stop()) // 停止访问摄像头并释放资源
+                        that.$refs.videoElement.srcObject = null // 清除视频流对象
+                    }
+                })
+                .catch(() => {})
+        },
+        //删除照片
+        btn_remove(item, index) {
+            const that = this
+            this.$confirm('是否确认删除该照片?')
+                .then(function () {})
+                .then(() => {
+                    that.photographimgList.splice(index, 1)
+                    that.$modal.msgSuccess('删除成功')
+                })
+                .catch(() => {})
+        },
+        //保存图片
+        btn_submit() {
+            let _type = false
 
 
-      if (this.photographimgList.length < 1) {
-        this.$modal.msgError('请拍照上传后保存')
-        return
-      }
+            if (this.photographimgList.length < 1) {
+                this.$modal.msgError('请拍照上传后保存')
+                return
+            }
 
 
-      const srcString = this.photographimgList.map((obj) => obj.src).join(',')
-      saveOrderClothPics({
-        id: this.clothId,
-        pics: srcString
-      }).then((response) => {
-        this.$modal.msgSuccess('保存图片成功')
+            const srcString = this.photographimgList.map((obj) => obj.src).join(',')
+            saveOrderClothPics({
+                id: this.clothId,
+                pics: srcString
+            }).then((response) => {
+                this.$modal.msgSuccess('保存图片成功')
 
 
-        this.photographType = false
-        this.photographimgList = []
-        this.clothId = null
-        this.getList()
-        if (this.stream) {
-          this.stream.getTracks().forEach((track) => track.stop()) // 停止访问摄像头并释放资源
-          this.$refs.videoElement.srcObject = null // 清除视频流对象
-        }
-      })
-    },
-    //标签打印
-    btn_pointer_label(row) {
-      if (!this.LODOP) {
-        this.$modal.msgError('请安装打印机软件')
-        return
-      }
-      let p_name = ''
-      this.pointerList.forEach((pointer) => {
-        if (pointer.printType == 2) {
-          p_name = pointer.printName
+                this.photographType = false
+                this.photographimgList = []
+                this.clothId = null
+                this.getList()
+                if (this.stream) {
+                    this.stream.getTracks().forEach((track) => track.stop()) // 停止访问摄像头并释放资源
+                    this.$refs.videoElement.srcObject = null // 清除视频流对象
+                }
+            })
+        },
+        //标签打印
+        btn_pointer_label(row) {
+            if (!this.LODOP) {
+                this.$modal.msgError('请安装打印机软件')
+                return
+            }
+            let p_name = ''
+            this.pointerList.forEach((pointer) => {
+                if (pointer.printType == 2) {
+                    p_name = pointer.printName
+                }
+            })
+            this.labelPrinter(this.LODOP, row, p_name)
         }
         }
-      })
-      this.labelPrinter(this.LODOP, row, p_name)
     }
     }
-  }
 }
 }
 </script>
 </script>
 <style scoped lang="scss">
 <style scoped lang="scss">

+ 25 - 23
src/views/order/retailOrder/index.vue

@@ -1,25 +1,26 @@
 <template>
 <template>
     <div class="app-container">
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
-            <el-form-item label="订单编号" prop="orderNo">
+            <el-form-item prop="orderNo">
                 <el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery" />
                 <el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
             </el-form-item>
-            <el-form-item label="订单状态" prop="orderStatus">
+            <el-form-item prop="orderStatus">
                 <el-select v-model="queryParams.orderStatus" placeholder="请选择支付状态" clearable>
                 <el-select v-model="queryParams.orderStatus" placeholder="请选择支付状态" clearable>
                     <el-option v-for="dict in dict.type.order_goods_status" :key="dict.code" :label="dict.label" :value="dict.value" />
                     <el-option v-for="dict in dict.type.order_goods_status" :key="dict.code" :label="dict.label" :value="dict.value" />
                 </el-select>
                 </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item label="客户姓名" prop="realName">
+            <el-form-item prop="realName">
                 <el-input v-model="queryParams.realName" placeholder="请输入客户姓名" clearable @keyup.enter.native="handleQuery" />
                 <el-input v-model="queryParams.realName" placeholder="请输入客户姓名" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
             </el-form-item>
-            <el-form-item label="手机号" prop="phoneNumber">
+            <el-form-item prop="phoneNumber">
                 <el-input v-model="queryParams.phoneNumber" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery" />
                 <el-input v-model="queryParams.phoneNumber" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
             </el-form-item>
-            <el-form-item label="支付时间">
-                <el-date-picker clearable v-model="queryPayTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="getPayTime"> </el-date-picker>
-            </el-form-item>
-            <el-form-item label="下单时间">
-                <el-date-picker clearable v-model="queryCreateTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="getCreateTime"> </el-date-picker>
+            <br />
+            <!--            <el-form-item >-->
+            <!--                <el-date-picker clearable v-model="queryPayTime" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="支付时间" end-placeholder="结束日期" @change="getPayTime"> </el-date-picker>-->
+            <!--            </el-form-item>-->
+            <el-form-item>
+                <el-date-picker 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>
             <el-form-item>
             <el-form-item>
                 <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
                 <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
@@ -34,30 +35,31 @@
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
             <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
         </el-row>
 
 
-        <el-table v-loading="orderLoading" :data="GoodsList">
+        <el-table v-loading="orderLoading" fit highlight-current-row border stripe :data="GoodsList">
             <!--      <el-table-column type="selection" width="55" align="center" fixed="left"/>-->
             <!--      <el-table-column type="selection" width="55" align="center" fixed="left"/>-->
-            <el-table-column label="订单编号" align="center" prop="orderNo" width="250px" />
-            <el-table-column label="客户姓名" align="center" prop="realName" width="200px" />
-            <el-table-column label="手机号" align="center" prop="phoneNumber" width="200px" />
-            <el-table-column label="订单总价(元)" align="center" prop="totalPrice" width="200px" />
-            <el-table-column label="抵扣金额(元)" align="center" prop="deductAmount" width="200px">
+            <el-table-column label="订单编号" align="center" prop="orderNo" width="150px" />
+            <el-table-column label="客户姓名" align="center" prop="realName" width="150px" />
+            <el-table-column label="手机号" align="center" prop="phoneNumber" width="150px" />
+            <el-table-column label="订单总价" align="center" prop="totalPrice" width="100px" />
+            <el-table-column label="抵扣金额" align="center" prop="deductAmount" width="100px">
                 <template slot-scope="scope">
                 <template slot-scope="scope">
                     {{ scope.row.deductAmount ? scope.row.deductAmount : '0' }}
                     {{ scope.row.deductAmount ? scope.row.deductAmount : '0' }}
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="支付金额(元)" align="center" prop="payAmount" width="200px" />
-            <el-table-column label="订单状态" align="center" prop="orderStatus" width="200px">
+            <el-table-column label="支付金额" align="center" prop="payAmount" width="100px" />
+            <el-table-column label="支付方式" align="center" prop="payType" width="100px">
                 <template slot-scope="scope">
                 <template slot-scope="scope">
-                    <dict-tag :options="dict.type.order_goods_status" :value="scope.row.orderStatus" />
+                    <dict-tag :options="dict.type.recharge_pay_type" :value="scope.row.payType" />
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="支付方式" align="center" prop="payType">
+            <el-table-column label="订单状态" align="center" prop="orderStatus">
                 <template slot-scope="scope">
                 <template slot-scope="scope">
-                    <dict-tag :options="dict.type.recharge_pay_type" :value="scope.row.payType" />
+                    <dict-tag :options="dict.type.order_goods_status" :value="scope.row.orderStatus" />
                 </template>
                 </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="支付时间" align="center" prop="payTime" width="200px" />
-            <el-table-column label="下单时间" align="center" prop="createTime" width="200px" />
+
+            <el-table-column label="支付时间" align="center" prop="payTime" width="150px" />
+            <el-table-column label="下单时间" align="center" prop="createTime" width="150px" />
             <!--      <el-table-column label="发货时间" align="center" prop="sendTime" width="200px"/>-->
             <!--      <el-table-column label="发货时间" align="center" prop="sendTime" width="200px"/>-->
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
                 <template slot-scope="scope">
                 <template slot-scope="scope">
@@ -467,7 +469,7 @@ export default {
         this.handleUser()
         this.handleUser()
         this.goodsType = this.getUrlParam('goodsType')
         this.goodsType = this.getUrlParam('goodsType')
         this.getList()
         this.getList()
-        this.getdeliveryAll()
+        // this.getdeliveryAll()
     },
     },
     mounted() {
     mounted() {
         this.number = 1
         this.number = 1

+ 2 - 2
src/views/recharge/balanceCount/index.vue

@@ -1,10 +1,10 @@
 <template>
 <template>
     <div class="app-container">
     <div class="app-container">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
         <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="手机号" prop="phoneNumber">
+            <el-form-item prop="phoneNumber">
                 <el-input v-model="queryParams.phoneNumber" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery" />
                 <el-input v-model="queryParams.phoneNumber" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
             </el-form-item>
-            <el-form-item label="客户姓名" prop="userName">
+            <el-form-item prop="userName">
                 <el-input v-model="queryParams.userName" placeholder="请输入客户姓名" clearable @keyup.enter.native="handleQuery" />
                 <el-input v-model="queryParams.userName" placeholder="请输入客户姓名" clearable @keyup.enter.native="handleQuery" />
             </el-form-item>
             </el-form-item>
             <el-form-item>
             <el-form-item>

+ 77 - 9
src/views/systemSet/price/wash/index.vue

@@ -10,16 +10,84 @@
             <el-col :span="20">
             <el-col :span="20">
                 <el-table v-loading="loading" fit highlight-current-row border stripe :data="clothItemPriceDataList">
                 <el-table v-loading="loading" fit highlight-current-row border stripe :data="clothItemPriceDataList">
                     <el-table-column label="名称" align="center" prop="name" />
                     <el-table-column label="名称" align="center" prop="name" />
-                    <el-table-column label="单价(元)" align="center" prop="clothPrice" />
-                    <el-table-column label="洗衣方式" align="center" prop="washModeId">
-                        <template slot-scope="scope">
-                            <span v-if="scope.row.washModeId == item.id" v-for="item in washModeList" :key="item.id"> {{ item.name }}</span>
-                        </template>
+                    <!--                    <el-table-column label="单价(元)" align="center" prop="clothPrice" />-->
+                    <!--                    <el-table-column label="洗衣方式" align="center" prop="washModeId">-->
+                    <!--                        <template slot-scope="scope">-->
+                    <!--                            <span v-if="scope.row.washModeId == item.id" v-for="item in washModeList" :key="item.id"> {{ item.name }}</span>-->
+                    <!--                        </template>-->
+                    <!--                    </el-table-column>-->
+                    <el-table-column label="洗衣方式" align="center">
+                        <el-table-column label="干洗" align="center" prop="dryCleaningModePrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.dryCleaningModePrice"> {{ scope.row.dryCleaningModePrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="水洗" align="center" prop="washModePrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.washModePrice"> {{ scope.row.washModePrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="织补" align="center" prop="darningModePrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.darningModePrice"> {{ scope.row.darningModePrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="单烫" align="center" prop="ironModePrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.ironModePrice"> {{ scope.row.ironModePrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="保值精洗" align="center" prop="fineWashModePrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.fineWashModePrice"> {{ scope.row.fineWashModePrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="护理" align="center" prop="nurseModePrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.nurseModePrice"> {{ scope.row.nurseModePrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column label="奢护洗" align="center" prop="shehuModePrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.shehuModePrice"> {{ scope.row.shehuModePrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+                    </el-table-column>
+                    <el-table-column label="衣服类型" align="center">
+                        <el-table-column label="加厚" align="center" prop="plusPrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.plusPrice"> {{ scope.row.plusPrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="羊绒" align="center" prop="sheepPrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.sheepPrice"> {{ scope.row.sheepPrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="真丝" align="center" prop="silkPrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.silkPrice"> {{ scope.row.silkPrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
+
+                        <el-table-column label="儿童" align="center" prop="childPrice">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.childPrice"> {{ scope.row.childPrice }}</span>
+                                <span v-else>未设置</span>
+                            </template>
+                        </el-table-column>
                     </el-table-column>
                     </el-table-column>
-                    <el-table-column label="加厚(元)" align="center" prop="plusPrice" />
-                    <el-table-column label="羊绒(元)" align="center" prop="sheepPrice" />
-                    <el-table-column label="真丝(元)" align="center" prop="silkPrice" />
-                    <el-table-column label="儿童(元)" align="center" prop="childPrice" />
                 </el-table>
                 </el-table>
             </el-col>
             </el-col>
         </el-row>
         </el-row>

+ 8 - 8
src/views/systemSet/purchaseGoods/index.vue

@@ -72,7 +72,7 @@
                                 </el-table-column>
                                 </el-table-column>
                                 <el-table-column label="数量" align="center">
                                 <el-table-column label="数量" align="center">
                                     <template slot-scope="scope">
                                     <template slot-scope="scope">
-                                        <el-input-number v-if="scope.row.goodsSkuStoreId == vo.goodsSkuStoreId" v-for="vo in purchaseCountVOList" :key="vo.goodsSkuStoreId" v-model="vo.count" :step="1" :min="1" :max="getMaxCount(scope.row)" @change="countPrice" />
+                                        <el-input v-if="scope.row.goodsSkuStoreId == vo.goodsSkuStoreId" v-for="vo in purchaseCountVOList" :key="vo.goodsSkuStoreId" v-model="vo.count" :step="1" :min="1" :max="getMaxCount(scope.row)" @change="countPrice" />
                                     </template>
                                     </template>
                                 </el-table-column>
                                 </el-table-column>
                                 <el-table-column label="价格" align="center" prop="purchasePrice" />
                                 <el-table-column label="价格" align="center" prop="purchasePrice" />
@@ -425,13 +425,13 @@ export default {
         addOrder() {
         addOrder() {
             this.open = true
             this.open = true
             this.isUserBalance = false
             this.isUserBalance = false
+            this.getBalance()
             this.title = this.goodsType == '0' ? '商品进货' : '材料申请'
             this.title = this.goodsType == '0' ? '商品进货' : '材料申请'
             this.titleType = this.goodsType == '0' ? '商品分类' : '材料分类'
             this.titleType = this.goodsType == '0' ? '商品分类' : '材料分类'
             this.purchaseCountVOList = []
             this.purchaseCountVOList = []
             this.addGoodsList = []
             this.addGoodsList = []
             this.addGoodsList = []
             this.addGoodsList = []
             this.goodsList = []
             this.goodsList = []
-            this.getBalance()
             this.getCategoryList()
             this.getCategoryList()
         },
         },
         getBalance() {
         getBalance() {
@@ -442,7 +442,7 @@ export default {
             }
             }
             if (this.userInfoVO.userType == '02') {
             if (this.userInfoVO.userType == '02') {
                 getStoreInfo().then((response) => {
                 getStoreInfo().then((response) => {
-                    this.getNowBalance = response.row.balance
+                    this.getNowBalance = response.data.balance
                 })
                 })
             }
             }
         },
         },
@@ -513,7 +513,6 @@ export default {
                     } else {
                     } else {
                         this.submitGoodsOrderVO.isUserBalance = false
                         this.submitGoodsOrderVO.isUserBalance = false
                     }
                     }
-
                     this.addGoodsList.forEach((vo) => {
                     this.addGoodsList.forEach((vo) => {
                         let purchaseVO = this.purchaseCountVOList.find((item) => item.goodsSkuStoreId == vo.goodsSkuStoreId)
                         let purchaseVO = this.purchaseCountVOList.find((item) => item.goodsSkuStoreId == vo.goodsSkuStoreId)
                         let purchaseGoodsVO = {}
                         let purchaseGoodsVO = {}
@@ -524,12 +523,13 @@ export default {
                         purchaseGoodsVO.costPrice = vo.purchasePrice
                         purchaseGoodsVO.costPrice = vo.purchasePrice
                         purchaseGoodsVO.buyNum = purchaseVO.count
                         purchaseGoodsVO.buyNum = purchaseVO.count
                         purchaseGoodsVO.skuName = ''
                         purchaseGoodsVO.skuName = ''
-                        vo.specVoList.forEach((spec) => {
-                            purchaseGoodsVO.skuName = purchaseGoodsVO.skuName + spec.specName + ':' + spec.specValue + ' '
-                        })
+                        if (vo.specVoList != null) {
+                            vo.specVoList.forEach((spec) => {
+                                purchaseGoodsVO.skuName = purchaseGoodsVO.skuName + spec.specName + ':' + spec.specValue + ' '
+                            })
+                        }
                         this.submitGoodsOrderVO.purchaseGoodsVOList.push(purchaseGoodsVO)
                         this.submitGoodsOrderVO.purchaseGoodsVOList.push(purchaseGoodsVO)
                     })
                     })
-
                     addPurchaseGoods(this.submitGoodsOrderVO).then((response) => {
                     addPurchaseGoods(this.submitGoodsOrderVO).then((response) => {
                         this.$modal.msgSuccess('提交成功')
                         this.$modal.msgSuccess('提交成功')
                         this.open = false
                         this.open = false