Ver Fonte

Merge remote-tracking branch 'origin/yjb_ScrmStores' into yjb_ScrmStores

liupeng há 6 dias atrás
pai
commit
31093dcb09

+ 5 - 5
src/api/hisStore/storeOrder.js

@@ -4,8 +4,8 @@ import request from '@/utils/request'
 export function listStoreOrder(query) {
   return request({
     url: '/store/store/storeOrder/list',
-    method: 'get',
-    params: query
+    method: 'post',
+    data: query
   })
 }
 
@@ -37,8 +37,8 @@ export function listPromotionOrder(query) {
 export function listHealthStoreOrder(query) {
   return request({
     url: '/store/store/storeOrder/healthList',
-    method: 'get',
-    params: query
+    method: 'post',
+    data: query
   })
 }
 
@@ -344,4 +344,4 @@ export function updateCommentInfo(data) {
     method: 'put',
     data: data
   })
-}
+}

+ 75 - 0
src/views/hisStore/components/productAfterSalesOrder.vue

@@ -185,6 +185,79 @@
             </template>
           </el-table-column>
         </el-table>
+        <div style="margin-top: 20px">
+          <svg-icon icon-class="marker" style="color: #606266"></svg-icon>
+          <span class="font-small">店铺信息</span>
+        </div>
+        <el-descriptions title="" :column="3" border>
+          <el-descriptions-item label="店铺名称" >
+            <span>{{store.storeName}}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="店铺介绍" >
+            <span>{{store.descs}}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="店铺LOGO" >
+            <el-image
+              style="width: 100px"
+              :src="store.logoUrl"
+              :preview-src-list="[store.logoUrl]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="店铺电话" >
+            <span v-if="store!=null">{{store.phone}}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="营业执照" >
+            <el-image v-if="store.businessLicense!=null && store.businessLicense !== ''"
+                      style="width: 100px"
+                      :src="store.businessLicense"
+                      :preview-src-list="[store.businessLicense]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="药品经营许可证">
+            <el-image v-if="store.drugLicense!=null && store.drugLicense !== ''"
+                      style="width: 100px"
+                      :src="store.drugLicense"
+                      :preview-src-list="[store.drugLicense]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="1类器械生产">
+            <el-image v-if="store.medicalDevice1!=null && store.medicalDevice1 !== ''"
+                      style="width: 100px"
+                      :src="store.medicalDevice1"
+                      :preview-src-list="[store.medicalDevice1]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="2类器械备案">
+            <el-image v-if="store.medicalDevice2!=null && store.medicalDevice2 !== ''"
+                      style="width: 100px"
+                      :src="store.medicalDevice2"
+                      :preview-src-list="[store.medicalDevice2]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="3类器械营业许可证">
+            <el-image v-if="store.medicalDevice3!=null && store.medicalDevice3 !== ''"
+                      style="width: 100px"
+                      :src="store.medicalDevice3"
+                      :preview-src-list="[store.medicalDevice3]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="食品许可证">
+            <el-image v-if="store.foodLicense!=null && store.foodLicense !== ''"
+                      style="width: 100px"
+                      :src="store.foodLicense"
+                      :preview-src-list="[store.foodLicense]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="药品许可证">
+            <el-image v-if="store.medicalLicense!=null && store.medicalLicense !== ''"
+                      style="width: 100px"
+                      :src="store.medicalLicense"
+                      :preview-src-list="[store.medicalLicense]">
+            </el-image>
+          </el-descriptions-item>
+
+        </el-descriptions>
+
         <div style="margin-top: 20px">
           <svg-icon icon-class="marker" style="color: #606266"></svg-icon>
           <span class="font-small">操作信息</span>
@@ -290,6 +363,7 @@ export default {
       statusOptions:[],
       afterSales:null,
       items:[],
+      store: null,
       logs:[],
       form:{
         refundAmount:0,
@@ -413,6 +487,7 @@ export default {
             this.items = response.items;
             this.user=response.user;
             this.order=response.order;
+            this.store=response.store;
         });
      }
   }

+ 76 - 1
src/views/hisStore/components/productOrder.vue

@@ -292,6 +292,79 @@
       <div style="float: right;margin: 20px" v-if="order!=null">
         合计:<span class="color-danger">¥{{order.totalPrice.toFixed(2)}}</span>
       </div>
+        <div style="margin: 60px 0px 20px 0px">
+          <span class="font-small">店铺信息</span>
+        </div>
+        <el-descriptions title="" :column="3" border>
+          <el-descriptions-item label="店铺名称" >
+            <span>{{storeScrm.storeName}}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="店铺介绍" >
+            <span>{{storeScrm.descs}}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="店铺LOGO" >
+            <el-image
+              style="width: 100px"
+              :src="storeScrm.logoUrl"
+              :preview-src-list="[storeScrm.logoUrl]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="店铺电话" >
+            <span v-if="storeScrm!=null">{{storeScrm.phone}}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="营业执照" >
+            <el-image v-if="storeScrm.businessLicense!=null && storeScrm.businessLicense !== ''"
+              style="width: 100px"
+              :src="storeScrm.businessLicense"
+              :preview-src-list="[storeScrm.businessLicense]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="药品经营许可证">
+            <el-image v-if="storeScrm.drugLicense!=null && storeScrm.drugLicense !== ''"
+                      style="width: 100px"
+              :src="storeScrm.drugLicense"
+              :preview-src-list="[storeScrm.drugLicense]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="1类器械生产">
+            <el-image v-if="storeScrm.medicalDevice1!=null && storeScrm.medicalDevice1 !== ''"
+              style="width: 100px"
+              :src="storeScrm.medicalDevice1"
+              :preview-src-list="[storeScrm.medicalDevice1]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="2类器械备案">
+            <el-image v-if="storeScrm.medicalDevice2!=null && storeScrm.medicalDevice2 !== ''"
+              style="width: 100px"
+              :src="storeScrm.medicalDevice2"
+              :preview-src-list="[storeScrm.medicalDevice2]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="3类器械营业许可证">
+            <el-image v-if="storeScrm.medicalDevice3!=null && storeScrm.medicalDevice3 !== ''"
+              style="width: 100px"
+              :src="storeScrm.medicalDevice3"
+              :preview-src-list="[storeScrm.medicalDevice3]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="食品许可证">
+            <el-image v-if="storeScrm.foodLicense!=null && storeScrm.foodLicense !== ''"
+              style="width: 100px"
+              :src="storeScrm.foodLicense"
+              :preview-src-list="[storeScrm.foodLicense]">
+            </el-image>
+          </el-descriptions-item>
+          <el-descriptions-item label="药品许可证">
+            <el-image v-if="storeScrm.medicalLicense!=null && storeScrm.medicalLicense !== ''"
+              style="width: 100px"
+              :src="storeScrm.medicalLicense"
+              :preview-src-list="[storeScrm.medicalLicense]">
+            </el-image>
+          </el-descriptions-item>
+
+        </el-descriptions>
+
+
       <div style="margin: 60px 0px 20px 0px">
         <span class="font-small">费用信息</span>
       </div>
@@ -666,6 +739,7 @@ export default {
       tuiMoneyLogs:[],
       erpOrder:null,
       auditLogs: [],
+      storeScrm: null,
     };
   },
   created() {
@@ -938,6 +1012,7 @@ export default {
         this.certificates = null;
         getStoreOrder(orderId).then(response => {
             this.order = response.order;
+            this.storeScrm=response.storeScrm;
             if(response.order.certificates != null){
               this.certificates = response.order.certificates;
             }
@@ -964,7 +1039,7 @@ export default {
           console.log(res.data);
           _this.replyCommentForm = res.data;
       })
-      
+
 
      }
   }

+ 64 - 1
src/views/hisStore/store/index.vue

@@ -264,7 +264,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="地址" prop="address">
-              <el-input v-model="form.address" placeholder="请输入地址" />
+              <el-input v-model="form.address" placeholder="请输入地址"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -299,7 +299,14 @@
                 <i v-else class="el-icon-plus avatar-uploader-icon"></i>
               </el-upload>
             </el-form-item>
+            <el-col :span="12">
+              <el-form-item label="营业执照编号" prop="businessCode" style="margin-left: 5px;margin-bottom: 20px">
+                <el-input v-model="form.businessCode" placeholder="请输入营业制造编号" />
+              </el-form-item>
+            </el-col>
+
           </el-col>
+
           <el-col :span="12">
             <el-form-item label="营业执照是否长期有效" prop="isBusinessLicensePermanent">
               <el-switch
@@ -335,6 +342,11 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-col :span="14">
+                <el-form-item label="药品经营许可证编号" prop="drugCode" style="margin-left: 5px">
+                  <el-input v-model="form.drugCode" placeholder="请输入药品经营许可证编号" />
+                </el-form-item>
+              </el-col>
             </el-col>
             <el-col :span="12">
               <el-form-item label="药品经营许可证有效期" prop="drugLicenseExpiry">
@@ -362,6 +374,11 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-col :span="14">
+                <el-form-item label="1类器械生产备案编号" prop="medicalDevice1Code" style="margin-left: 5px">
+                  <el-input v-model="form.medicalDevice1Code" placeholder="请输入1类器械生产备案编号" />
+                </el-form-item>
+              </el-col>
             </el-col>
             <el-col :span="12">
               <el-form-item label="1类生产备案有效期" prop="medicalDevice1Expiry">
@@ -389,6 +406,12 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-col :span="14">
+                <el-form-item label="2类器械生产备案编号" prop="medicalDevice2Code" style="margin-left: 5px">
+                  <el-input v-model="form.medicalDevice2Code" placeholder="请输入2类器械生产备案编号" />
+                </el-form-item>
+              </el-col>
+
             </el-col>
             <el-col :span="12">
               <el-form-item label="2类医疗器械备案有效期" prop="medicalDevice2Expiry">
@@ -416,6 +439,9 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-form-item label="3类器械生产备案编号" prop="medicalDevice3Code" style="margin-left: 5px">
+                <el-input v-model="form.medicalDevice3Code" placeholder="请输入3类器械生产备案编号" />
+              </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="3类器械经营许可证有效期" prop="medicalDevice3Expiry">
@@ -443,6 +469,9 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-form-item label="食品经营许可证编号" prop="foodCode" style="margin-left: 5px">
+                <el-input v-model="form.foodCode" placeholder="请输入食品经营许可证编号" />
+              </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="食品经营许可证有效期" prop="foodLicenseExpiry">
@@ -470,6 +499,9 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-form-item label="医疗机构执业许可证编号" prop="medicalCode" style="margin-left: 5px">
+                <el-input v-model="form.medicalCode" placeholder="请输入医疗机构执业许可证编号" />
+              </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="医疗机构执业许可证有效期" prop="medicalLicenseExpiry">
@@ -500,6 +532,9 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-form-item label="其它资质-入驻协议编号" prop="settlementAgreementCode" style="margin-left: 5px">
+                <el-input v-model="form.settlementAgreementCode" placeholder="请输入其它资质-入驻协议编号" />
+              </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="其它资质-入驻协议有效期">
@@ -527,6 +562,9 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-form-item label="质量保证协议编号" prop="qualityAssuranceAgreementCode" style="margin-left: 5px">
+                <el-input v-model="form.qualityAssuranceAgreementCode" placeholder="请输入质量保证协议编号" />
+              </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="质量保证协议有效期">
@@ -554,6 +592,9 @@
                   <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
               </el-form-item>
+              <el-form-item label="其它特殊资质编号" prop="otherSpecialQualificationCode" style="margin-left: 5px">
+                <el-input v-model="form.otherSpecialQualificationCode" placeholder="请输入其它特殊资质编号" />
+              </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item label="其它特殊资质有效期">
@@ -744,15 +785,24 @@ export default {
         businessLicense: [
           { required: true, message: "营业执照不能为空", trigger: "blur" }
         ],
+        businessCode:[
+          { required: true, message: "营业执照编号不能为空", trigger: "blur" }
+        ],
         drugLicense:[
           { required: true, message: "药品经营许可证不能为空", trigger: "blur" }
         ],
         drugLicenseExpiry:[
           { required: true, message: "药品经营许可证有效期不能为空", trigger: "blur" }
         ],
+        drugCode:[
+          { required: true, message: "药品经营许可证编号不能为空", trigger: "blur" }
+        ],
         medicalLicense:[
           { required: true, message: "医疗机构执业许可证不能为空", trigger: "blur" }
         ],
+        medicalCode:[
+          { required: true, message: "医疗机构执业许可证编号不能为空", trigger: "blur" }
+        ],
         medicalLicenseExpiry:[
           { required: true, message: "医疗机构执业许可证有效期不能为空", trigger: "blur" }
         ],
@@ -762,6 +812,9 @@ export default {
         medicalDevice2Expiry:[
           { required: true, message: "2类医疗器械备案证有效期不能为空", trigger: "blur" }
         ],
+        medicalDevice2Code:[
+          { required: true, message: "2类医疗器械备案证编号不能为空", trigger: "blur" }
+        ],
         logoUrl: [
           { required: true, message: "店铺LOGO不能为空", trigger: "blur" }
         ],
@@ -993,6 +1046,16 @@ export default {
         qualityAssuranceAgreementExpiry: null,//质量保证协议有效期
         otherSpecialQualification: null,//其它特殊资质
         otherSpecialQualificationExpiry: null,//其它特殊资质有效期
+        businessCode: null,
+        drugCode:null,
+        medicalDevice1Code:null,
+        medicalDevice2Code:null,
+        medicalDevice3Code:null,
+        foodCode:null,
+        medicalCode:null,
+        otherSpecialQualificationCode:null,
+        qualityAssuranceAgreementCode:null,
+        settlementAgreementCode: null,
       };
       this.resetForm("form");
     },

+ 33 - 0
src/views/hisStore/storeAfterSales/index.vue

@@ -121,6 +121,33 @@
           end-placeholder="结束日期">
         </el-date-picker>
       </el-form-item>
+      <el-form-item label="店铺名称" prop="storeName">
+        <el-input
+          v-model="queryParams.storeName"
+          placeholder="请输入店铺名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="店铺ID" prop="storeSeq">
+        <el-input
+          v-model="queryParams.storeSeq"
+          placeholder="请输入店铺ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="商家ID" prop="merchantId">
+        <el-input
+          v-model="queryParams.merchantId"
+          placeholder="请输入商家ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -181,6 +208,12 @@
 
       <el-table-column label="提交时间" align="center" prop="createTime" />
 
+      <el-table-column label="店铺名称" align="center" prop="storeName" />
+
+      <el-table-column label="商家ID" align="center" prop="merchantId" />
+
+      <el-table-column label="店铺ID" align="center" prop="storeSeq" />
+
       <el-table-column label="操作" align="center" fixed="right" width="100px" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button

+ 42 - 0
src/views/hisStore/storeOrder/healthStoreList.vue

@@ -150,6 +150,33 @@
         >
         </el-date-picker>
       </el-form-item>
+      <el-form-item label="店铺名称" prop="storeName">
+        <el-input
+          v-model="queryParams.storeName"
+          clearable
+          placeholder="请输入店铺名称"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="商家ID" prop="merchantId">
+        <el-input
+          v-model="queryParams.merchantId"
+          clearable
+          placeholder="请输入商家ID"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="店铺ID" prop="storeSeq">
+        <el-input
+          v-model="queryParams.storeSeq"
+          clearable
+          placeholder="请输入店铺ID"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item>
         <el-button icon="el-icon-search" size="mini" type="cyan" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -319,6 +346,21 @@
           </el-tag>
         </template>
       </el-table-column>
+      <el-table-column align="center" label="店铺名称" prop="storeName" width="150px">
+        <template slot-scope="scope">
+          <span>{{ scope.row.storeName }} </span>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" label="商家ID" prop="merchantId" width="150px">
+        <template slot-scope="scope">
+          <span>{{ scope.row.merchantId }} </span>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" label="店铺ID" prop="storeSeq" width="150px">
+        <template slot-scope="scope">
+          <span>{{ scope.row.storeSeq }} </span>
+        </template>
+      </el-table-column>
 
       <el-table-column align="center" fixed="right" label="操作" width="80px">
         <template slot-scope="scope">

+ 44 - 5
src/views/hisStore/storeOrder/index.vue

@@ -166,6 +166,33 @@
                     />
             </el-select>
         </el-form-item>
+      <el-form-item label="店铺名称" prop="storeName">
+        <el-input
+          v-model="queryParams.storeName"
+          placeholder="请输入店铺名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="商家ID" prop="merchantId">
+        <el-input
+          v-model="queryParams.merchantId"
+          placeholder="请输入商家ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="店铺ID" prop="storeSeq">
+        <el-input
+          v-model="queryParams.storeSeq"
+          placeholder="请输入店铺ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -310,11 +337,6 @@
               <el-tag prop="orderType" v-for="(item, index) in orderTypeOptions"    v-if="scope.row.orderType==item.dictValue">{{item.dictLabel}}</el-tag>
           </template>
       </el-table-column>
-      <el-table-column label="媒体来源" align="center" prop="orderMedium" >
-          <template slot-scope="scope">
-              <el-tag prop="orderMedium" v-for="(item, index) in orderMediumOptions"    v-if="scope.row.orderMedium==item.dictValue">{{item.dictLabel}}</el-tag>
-          </template>
-      </el-table-column>
       <el-table-column label="订单产品" align="center" width="200px">
         <template slot-scope="scope">
           <div v-if="scope.row.items && scope.row.items.length > 0">
@@ -347,6 +369,21 @@
               <el-tag prop="status" v-for="(item, index) in deliveryPayStatusOptions"    v-if="scope.row.deliveryPayStatus==item.dictValue">{{item.dictLabel}}</el-tag>
           </template>
       </el-table-column>
+      <el-table-column label="店铺名称" align="center" prop="storeName" width="150px" >
+        <template slot-scope="scope">
+          <span>{{scope.row.storeName}} </span>
+        </template>
+      </el-table-column>
+      <el-table-column label="商家ID" align="center" prop="merchantId" width="150px" >
+        <template slot-scope="scope">
+          <span>{{scope.row.merchantId}} </span>
+        </template>
+      </el-table-column>
+      <el-table-column label="店铺ID" align="center" prop="storeSeq" width="150px" >
+        <template slot-scope="scope">
+          <span>{{scope.row.storeSeq}} </span>
+        </template>
+      </el-table-column>
 
       <el-table-column label="操作" fixed="right" width="80px" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -752,6 +789,8 @@ export default {
         isSysDel: null,
         deptId:null,
         isUpload:null,
+        merchantId:null,
+        storeSeq:null,
 
       },
       // 表单参数

+ 123 - 5
src/views/hisStore/storeProduct/index.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="90px">
 
       <el-form-item label="商品分类" prop="cateId">
-        <treeselect  v-model="queryParams.cateId"  style="width:205.4px" :options="categoryOptions" :normalizer="normalizer" placeholder="请选择分类" />
+        <treeselect  v-model="queryParams.cateId"  style="width:205.4px" :options="categoryOptions" :normalizer="normalizer" placeholder="请选择分类"  />
       </el-form-item>
 
       <el-form-item label="商品名称" prop="productName">
@@ -211,6 +211,35 @@
           size="small"
         />
       </el-form-item>
+
+        <el-form-item label="交易状态" prop="transactionStatus">
+          <el-select v-model="queryParams.transactionStatus" placeholder="请选择" clearable>
+            <el-option
+              v-for="item in orderOptions"
+              :key="item.dictValue"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="商品评价" prop="commentContent">
+          <el-input
+            v-model="queryParams.commentContent"
+            placeholder="商品评价"
+            clearable
+            size="small"
+          />
+        </el-form-item>
+        <el-form-item label="咨询/投诉" prop="complaint">
+          <el-input
+            v-model="queryParams.complaint"
+            placeholder="咨询/投诉"
+            clearable
+            size="small"
+          />
+        </el-form-item>
       </div>
       <!-- <el-form-item label="状态" prop="isShow">
          <el-select style="width: 240px" v-model="queryParams.isShow" placeholder="请选择状态" clearable size="small" >
@@ -449,7 +478,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="商品分类" prop="cateId">
-              <treeselect v-model="form.cateId" :options="categoryOptions" :normalizer="normalizer" placeholder="请选择上级分类" />
+              <treeselect v-model="form.cateId" :options="categoryOptions" :normalizer="normalizer" placeholder="请选择上级分类"  />
             </el-form-item>
           </el-col>
         </el-row>
@@ -970,6 +999,9 @@ export default {
     singleImg,
   },
   created() {
+    this.getDicts("sys_order_status").then(response => {
+      this.orderOptions = response.data;
+    });
     this.getDicts("store_product_tui_cate").then((response) => {
       this.productTuiCateOptions = response.data;
     });
@@ -1020,10 +1052,35 @@ export default {
     },
     drugImageArr: function(val) {
       this.form.drugImage = val.join(',');
+    },
+    'form.cateId': {
+      handler(newVal) {
+        // 分类变化时动态修改验证规则
+        if (newVal == 224) {
+          this.rules.indications = [];
+          this.rules.dosage = [];
+        } else {
+          this.rules.indications = [
+            { required: true, message: "功能主治不能为空", trigger: "blur" }
+          ];
+          this.rules.dosage = [
+            { required: true, message: "用法用量不能为空", trigger: "blur" }
+          ];
+        }
+
+        // 清除验证状态
+        this.$nextTick(() => {
+          if (this.$refs.form) {
+            this.$refs.form.clearValidate(['indications', 'dosage']);
+          }
+        });
+      },
+      immediate: true
     }
   },
   data() {
     return {
+      orderOptions:[],
       medicalMallConfig:{},
       companyId: null,
       storeId: null,
@@ -1145,7 +1202,11 @@ export default {
         precautions: null
       },
       // 表单参数
-      form: {},
+      form: {
+        cateId: null,
+        indications: '',
+        dosage: ''
+      },
       // 表单校验
       rules: {
         image: [
@@ -1236,9 +1297,38 @@ export default {
         // storeId :[
         //   { required: true, message: "所属店铺不能为空", trigger: "blur"}
         // ],
-      }
+      },
     };
   },
+  // computed: {
+  //   // 动态验证规则 - 返回完整的规则对象
+  //   dynamicRules() {
+  //     // 复制基础规则
+  //     const rules = { ...this.rules };
+  //
+  //     // 判断是否为处方药 (cateId = 224)
+  //     const isPrescriptionDrug = this.form.cateId == 224;
+  //     console.log("分类id"+this.form.cateId);
+  //     // 修改触发时机,只在失去焦点时验证
+  //     Object.keys(rules).forEach(key => {
+  //       if (rules[key] && rules[key].length > 0) {
+  //         rules[key].forEach(rule => {
+  //           rule.trigger = 'blur'; // 只在失去焦点时验证
+  //         });
+  //       }
+  //     });
+  //     // 如果是处方药,取消功能主治和用法用量的校验
+  //     if (isPrescriptionDrug) {
+  //       rules.indications = []; // 空数组表示取消校验
+  //       rules.dosage = []; // 空数组表示取消校验
+  //     }else {
+  //       rules.indications = this.rules.indications
+  //       rules.dosage = this.rules.dosage
+  //     }
+  //
+  //     return rules;
+  //   }
+  // },
   methods: {
     cancel1(){
       this.open1 = false;
@@ -1455,6 +1545,9 @@ export default {
     /** 查询商品列表 */
     getList() {
       this.loading = true;
+      if(this.queryParams.storeIds !== null && this.queryParams.storeIds.length === 0){
+        this.queryParams.storeIds = null;
+      }
       listStoreProduct(this.queryParams).then(response => {
         this.storeProductList = response.rows;
         this.total = response.total;
@@ -1561,6 +1654,31 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      // 查询参数
+      this.queryParams={
+          pageNum: 1,
+          pageSize: 10,
+          productName: null,
+          productType: null,
+          isShow: "1",
+          barCode:null,
+          // companyIds: null,
+          storeIds: null,
+          drugRegCertNo: null,
+          commonName: null,
+          dosageForm: null,
+          unitPrice: null,
+          batchNumber: null,
+          mah: null,
+          mahAddress: null,
+          manufacturer: null,
+          manufacturerAddress: null,
+          indications: null,
+          dosage: null,
+          adverseReactions: null,
+          contraindications: null,
+          precautions: null
+      }
       this.handleQuery();
     },
     // 多选框选中数据