Kaynağa Gözat

1.商城api.js代码规范
2.店铺、商品审核;日志相关代码提交

chenguo 2 hafta önce
ebeveyn
işleme
551545e16d
86 değiştirilmiş dosya ile 5421 ekleme ve 4087 silme
  1. 8 8
      src/api/hisStore/chineseMedicine.js
  2. 9 9
      src/api/hisStore/city.js
  3. 0 63
      src/api/hisStore/components/IllnessLibraryDetails.vue
  4. 0 109
      src/api/hisStore/components/addBatchPublish.vue
  5. 0 72
      src/api/hisStore/components/addUser.vue
  6. 0 155
      src/api/hisStore/components/addUserAddress.vue
  7. 0 84
      src/api/hisStore/components/chineseMedicineDetails.vue
  8. 0 119
      src/api/hisStore/components/departmentDetails.vue
  9. 0 103
      src/api/hisStore/components/diseaseDetails.vue
  10. 0 119
      src/api/hisStore/components/doctorArticleDetails.vue
  11. 0 90
      src/api/hisStore/components/famousPrescribeDetails.vue
  12. 0 89
      src/api/hisStore/components/integralGoodsDetails.vue
  13. 0 312
      src/api/hisStore/components/integralOrderDetails.vue
  14. 0 80
      src/api/hisStore/components/medicatedFoodDetails.vue
  15. 0 369
      src/api/hisStore/components/offlineOrder.vue
  16. 0 398
      src/api/hisStore/components/productAfterSalesOrder.vue
  17. 0 114
      src/api/hisStore/components/productAttrValueSelect.vue
  18. 0 860
      src/api/hisStore/components/productOrder.vue
  19. 0 102
      src/api/hisStore/components/productSelect.vue
  20. 0 111
      src/api/hisStore/components/testReportDetails.vue
  21. 0 108
      src/api/hisStore/components/testTempDetails.vue
  22. 0 116
      src/api/hisStore/components/testTempItemDetails.vue
  23. 0 80
      src/api/hisStore/components/vesselDetails.vue
  24. 7 7
      src/api/hisStore/department.js
  25. 8 8
      src/api/hisStore/disease.js
  26. 7 7
      src/api/hisStore/doctorArticle.js
  27. 8 8
      src/api/hisStore/famousPrescribe.js
  28. 7 7
      src/api/hisStore/illnessLibrary.js
  29. 8 8
      src/api/hisStore/integralGoods.js
  30. 10 10
      src/api/hisStore/integralOrder.js
  31. 8 8
      src/api/hisStore/medicatedFood.js
  32. 6 6
      src/api/hisStore/menu.js
  33. 28 0
      src/api/hisStore/operlog.js
  34. 7 7
      src/api/hisStore/prescribe.js
  35. 7 7
      src/api/hisStore/prescribeDrug.js
  36. 7 7
      src/api/hisStore/shippingTemplates.js
  37. 76 0
      src/api/hisStore/store.js
  38. 7 7
      src/api/hisStore/storeActivity.js
  39. 10 10
      src/api/hisStore/storeAfterSales.js
  40. 7 7
      src/api/hisStore/storeAfterSalesItem.js
  41. 7 7
      src/api/hisStore/storeAfterSalesStatus.js
  42. 4 5
      src/api/hisStore/storeCanvas.js
  43. 7 7
      src/api/hisStore/storeCart.js
  44. 8 8
      src/api/hisStore/storeCoupon.js
  45. 7 7
      src/api/hisStore/storeCouponIssue.js
  46. 7 7
      src/api/hisStore/storeCouponIssueUser.js
  47. 7 7
      src/api/hisStore/storeCouponUser.js
  48. 34 34
      src/api/hisStore/storeOrder.js
  49. 2 2
      src/api/hisStore/storeOrderAudit.js
  50. 7 7
      src/api/hisStore/storeOrderItem.js
  51. 7 7
      src/api/hisStore/storeOrderNotice.js
  52. 8 8
      src/api/hisStore/storeOrderOffline.js
  53. 7 7
      src/api/hisStore/storeOrderStatus.js
  54. 9 9
      src/api/hisStore/storePayment.js
  55. 19 11
      src/api/hisStore/storeProduct.js
  56. 7 7
      src/api/hisStore/storeProductAttr.js
  57. 7 7
      src/api/hisStore/storeProductAttrValue.js
  58. 7 7
      src/api/hisStore/storeProductCategory.js
  59. 7 7
      src/api/hisStore/storeProductDetails.js
  60. 7 7
      src/api/hisStore/storeProductGroup.js
  61. 8 8
      src/api/hisStore/storeProductPackage.js
  62. 7 7
      src/api/hisStore/storeProductRelation.js
  63. 8 8
      src/api/hisStore/storeProductReply.js
  64. 7 7
      src/api/hisStore/storeProductRule.js
  65. 7 7
      src/api/hisStore/storeProductTemplate.js
  66. 7 7
      src/api/hisStore/storeProductYuyue.js
  67. 7 7
      src/api/hisStore/storeShop.js
  68. 7 7
      src/api/hisStore/storeShopStaff.js
  69. 7 7
      src/api/hisStore/storeVisit.js
  70. 7 7
      src/api/hisStore/testReport.js
  71. 8 8
      src/api/hisStore/testTemp.js
  72. 7 7
      src/api/hisStore/testTempItem.js
  73. 14 14
      src/api/hisStore/user.js
  74. 8 8
      src/api/hisStore/userAddress.js
  75. 9 9
      src/api/hisStore/vessel.js
  76. 0 5
      src/permission.js
  77. 0 7
      src/utils/request.js
  78. 8 3
      src/views/course/userCourse/public.vue
  79. 211 0
      src/views/hisStore/components/storeDetails.vue
  80. 437 0
      src/views/hisStore/store/audit.vue
  81. 342 0
      src/views/hisStore/store/auditLog.vue
  82. 1106 0
      src/views/hisStore/store/index.vue
  83. 770 0
      src/views/hisStore/store/index1.vue
  84. 344 0
      src/views/hisStore/store/storeLog.vue
  85. 229 2
      src/views/hisStore/storeProduct/index.vue
  86. 1446 0
      src/views/hisStore/storeProductAudit/index.vue

+ 8 - 8
src/api/hisStore/chineseMedicine.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询中药科普管理列表
 export function listChineseMedicine(query) {
   return request({
-    url: '/his/chineseMedicine/list',
+    url: '/store/his/chineseMedicine/list',
     method: 'get',
     params: query
   })
@@ -12,21 +12,21 @@ export function listChineseMedicine(query) {
 // 查询中药科普管理详细
 export function getChineseMedicine(id) {
   return request({
-    url: '/his/chineseMedicine/' + id,
+    url: '/store/his/chineseMedicine/' + id,
     method: 'get'
   })
 }
 // 下载导入模板
 export function importTemplate() {
   return request({
-    url: '/his/chineseMedicine/importTemplate',
+    url: '/store/his/chineseMedicine/importTemplate',
     method: 'get'
   })
 }
 // 新增中药科普管理
 export function addChineseMedicine(data) {
   return request({
-    url: '/his/chineseMedicine',
+    url: '/store/his/chineseMedicine',
     method: 'post',
     data: data
   })
@@ -35,7 +35,7 @@ export function addChineseMedicine(data) {
 // 修改中药科普管理
 export function updateChineseMedicine(data) {
   return request({
-    url: '/his/chineseMedicine',
+    url: '/store/his/chineseMedicine',
     method: 'put',
     data: data
   })
@@ -44,7 +44,7 @@ export function updateChineseMedicine(data) {
 // 删除中药科普管理
 export function delChineseMedicine(id) {
   return request({
-    url: '/his/chineseMedicine/' + id,
+    url: '/store/his/chineseMedicine/' + id,
     method: 'delete'
   })
 }
@@ -52,8 +52,8 @@ export function delChineseMedicine(id) {
 // 导出中药科普管理
 export function exportChineseMedicine(query) {
   return request({
-    url: '/his/chineseMedicine/export',
+    url: '/store/his/chineseMedicine/export',
     method: 'get',
     params: query
   })
-}
+}

+ 9 - 9
src/api/hisStore/city.js

@@ -3,14 +3,14 @@ import request from '@/utils/request'
 // 查询城市列表
 export function listCity(query) {
   return request({
-    url: '/store/city/list',
+    url: '/store/store/city/list',
     method: 'get',
     params: query
   })
 }
 export function getAllList(query) {
   return request({
-    url: '/store/city/getAllList',
+    url: '/store/store/city/getAllList',
     method: 'get',
     params: query
   })
@@ -18,7 +18,7 @@ export function getAllList(query) {
 
 export function getCitys() {
   return request({
-    url: '/store/city/getCitys',
+    url: '/store/store/city/getCitys',
     method: 'get'
   })
 }
@@ -28,7 +28,7 @@ export function getCitys() {
 // 查询城市详细
 export function getCity(id) {
   return request({
-    url: '/store/city/' + id,
+    url: '/store/store/city/' + id,
     method: 'get'
   })
 }
@@ -36,7 +36,7 @@ export function getCity(id) {
 // 新增城市
 export function addCity(data) {
   return request({
-    url: '/store/city',
+    url: '/store/store/city',
     method: 'post',
     data: data
   })
@@ -45,7 +45,7 @@ export function addCity(data) {
 // 修改城市
 export function updateCity(data) {
   return request({
-    url: '/store/city',
+    url: '/store/store/city',
     method: 'put',
     data: data
   })
@@ -54,7 +54,7 @@ export function updateCity(data) {
 // 删除城市
 export function delCity(id) {
   return request({
-    url: '/store/city/' + id,
+    url: '/store/store/city/' + id,
     method: 'delete'
   })
 }
@@ -62,8 +62,8 @@ export function delCity(id) {
 // 导出城市
 export function exportCity(query) {
   return request({
-    url: '/store/city/export',
+    url: '/store/store/city/export',
     method: 'get',
     params: query
   })
-}
+}

+ 0 - 63
src/api/hisStore/components/IllnessLibraryDetails.vue

@@ -1,63 +0,0 @@
-<template>
-    <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-      <div style="padding: 20px; background-color: #fff;">
-         中医疾病详情
-      </div>
-<div class="contentx" v-if="item!=null">
-        <div class="desct"> 中医疾病信息</div>
-        <el-descriptions title="" :column="3" border>
-          <el-descriptions-item label="疾病名称"><span v-if="item!=null">{{item.illnessName}}</span></el-descriptions-item>
-          <el-descriptions-item label="舌脉"><span v-if="item!=null">{{item.tongueVein}}</span></el-descriptions-item>
-          <el-descriptions-item label="治法"><span v-if="item!=null">{{item.therapy}}</span></el-descriptions-item>
-           <el-descriptions-item label="症状"><span v-if="item!=null">{{item.symptom}}</span></el-descriptions-item>
-          <el-descriptions-item label="方剂名称"><span v-if="item!=null">{{item.formulaName}}</span></el-descriptions-item>
-          <el-descriptions-item label="方剂详情"><span v-if="item!=null">{{item.formulaDescs}}</span></el-descriptions-item>
-        </el-descriptions>
-    </div>
-    </div>
-</template>
-
-<script>
-import { listillnessLibrary, getillnessLibrary, delillnessLibrary, addillnessLibrary, updateillnessLibrary, exportillnessLibrary } from "@/api/store/illnessLibrary";
-  export default {
-    name: "IllnessLibrary",
-    props:["data"],
-    data() {
-      return {
-        item:null,
-      }
-    },
-    created() {
-    },
-    methods: {
-      getDetails(orderId) {
-        this.item=null;
-        getillnessLibrary(orderId).then(response => {
-            this.item = response.data;
-        });
-      },
-    }
-  }
-</script>
-<style>
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-
-</style>

+ 0 - 109
src/api/hisStore/components/addBatchPublish.vue

@@ -1,109 +0,0 @@
-<template>
-    <div>
-            <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-                <el-form-item label="优惠券数量" >
-                    {{ids.length}}个
-                </el-form-item>
-                <el-form-item label="优惠券开始时间" prop="startTime">
-                <el-date-picker clearable size="small" style="width: 200px"
-                    v-model="form.startTime"
-                    type="date"
-                    value-format="yyyy-MM-dd"
-                    placeholder="选择开始时间">
-                </el-date-picker>
-                </el-form-item>
-                <el-form-item label="优惠券结束时间" prop="limitTime">
-                <el-date-picker clearable size="small" style="width: 200px"
-                    v-model="form.limitTime"
-                    type="date"
-                    value-format="yyyy-MM-dd"
-                    placeholder="选择结束时间">
-                </el-date-picker>
-                </el-form-item>
-                <el-form-item label="优惠券领取数量" prop="totalCount">
-                <el-input-number v-model="form.totalCount" :min="0" placeholder="请输入优惠券领取数量" />
-                </el-form-item>
-            </el-form>
-             <div   class="footer">
-            <el-button type="primary" @click="submitForm">确 定</el-button>
-            <el-button @click="cancel">取 消</el-button>
-        </div>
-    </div>
-</template>
-
-<script>
-    import { batchPublishCoupon  } from "@/api/store/storeCoupon";
-export default {
-        name: "batchPublish",
-        data() {
-            return {
-                statusOptions:[],
-                ids:[],
-                // 表单参数
-                form: {},
-                // 表单校验
-                rules: {
-                    totalCount: [
-                    { required: true, message: "数量不能为空", trigger: "blur" }
-                    ],
-                    startTime: [
-                    { required: true, message: "开始时间不能为空", trigger: "blur" }
-                    ],
-                    limitTime: [
-                    { required: true, message: "结束时间不能为空", trigger: "blur" }
-                    ],
-                }
-            };
-        },
-        created() {
-
-        },
-        methods: {
-            cancel(){
-                this.$emit('close');
-            },
-            handleBatch(ids) {
-                console.log(ids)
-                this.ids=ids;
-
-            },
-            /** 提交按钮 */
-            submitForm() {
-                this.$refs["form"].validate(valid => {
-                    if (valid) {
-                        this.myloading = this.$loading({
-                            lock: true,
-                            text: '处理中...',
-                            spinner: 'el-icon-loading',
-                            background: 'rgba(0, 0, 0, 0.7)'
-                        });
-                        this.form.ids=this.ids.toString();
-                        batchPublishCoupon(this.form).then(response => {
-                            this.myloading.close()
-                            if (response.code === 200) {
-                                this.msgSuccess("发布成功");
-                                this.$emit('close');
-                            }
-                        });
-                    }
-                });
-            },
-        }
-    };
-</script>
-<style lang="scss" scoped>
-.contents{
-    height: 100%;
-    background-color: #fff;
-    padding: 20px;
-
-}
-.footer{
-    display: flex;
-    align-items: center;
-    justify-content: flex-end;
-}
-</style>
-
-
-

+ 0 - 72
src/api/hisStore/components/addUser.vue

@@ -1,72 +0,0 @@
-<template>
-  <div >
-       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-form-item label="会员昵称" prop="nickname">
-          <el-input v-model="form.nickname" placeholder="请输入用户昵称" />
-        </el-form-item>
-        <el-form-item label="手机号码" prop="phone">
-          <el-input v-model="form.phone" placeholder="请输入手机号码" />
-        </el-form-item>
-        <el-form-item label="状态">
-            <el-radio-group v-model="form.status">
-              <el-radio :label="item.dictValue" v-for="item in statusOptions" >{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-        </el-form-item>
-      </el-form>
-      <div    style="text-align:right;">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-      </div>
-  </div>
-</template>
-
-<script>
-import { listUser, getUser, delUser, addUser, updateUser, exportUser } from "@/api/store/user";
-
-export default {
-  name: "add",
-  data() {
-    return {
-      statusOptions:[],
-      // 表单参数
-      form: {
-        status:"1"
-      },
-      // 表单校验
-      rules: {
-        phone: [
-          { required: true, message: "手机号不能为空", trigger: "blur" }
-        ],
-        nickname: [
-          { required: true, message: "会员昵称不能为空", trigger: "blur" }
-        ],
-         
-      }
-    };
-  },
-  created() {
-    this.getDicts("user_status").then((response) => {
-      this.statusOptions = response.data;
-    });
-  },
-
-  methods: {
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          addUser(this.form).then(response => {
-            if (response.code === 200) {
-              this.msgSuccess("新增成功");
-              this.$emit("addUser")
-              
-            }
-          });
-        }
-      });
-    },
-     
-  }
-};
-</script>
-<style scoped>
- 
-</style>

+ 0 - 155
src/api/hisStore/components/addUserAddress.vue

@@ -1,155 +0,0 @@
-<template>
-  <div >
-      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-form-item label="收货人姓名" prop="realName">
-          <el-input v-model="form.realName" placeholder="请输入收货人姓名" />
-        </el-form-item>
-        <el-form-item label="收货人电话" prop="phone">
-          <el-input v-model="form.phone" placeholder="请输入收货人电话" />
-        </el-form-item>
-        <el-form-item label="收货地址" prop="district">
-          <el-row :gutter="20">
-          <el-col :span="6">
-             <el-select @change="provinceChange" v-model="form.province" placeholder="请选择">
-                <el-option
-                  v-for="item in province"
-                  :key="item.cityId"
-                  :label="item.name"
-                  :value="item.cityId">
-                </el-option>
-              </el-select>
-          </el-col>
-          <el-col :span="6">
-            <el-select @change="cityChange" v-model="form.city" placeholder="请选择">
-                <el-option
-                  v-for="item in city"
-                  :key="item.cityId"
-                  :label="item.name"
-                  :value="item.cityId">
-                </el-option>
-              </el-select>
-          </el-col>
-          <el-col :span="6">
-             <el-select @change="districtChange" v-model="form.district" placeholder="请选择">
-                <el-option
-                  v-for="item in district"
-                  :key="item.cityId"
-                  :label="item.name"
-                  :value="item.cityId">
-                </el-option>
-              </el-select>
-          </el-col>
-        </el-row>
-        </el-form-item>
-        <el-form-item label="详细地址" prop="detail">
-          <el-input v-model="form.detail" placeholder="请输入收货人详细地址" />
-        </el-form-item>
-      </el-form>
-      <div  style="text-align:right;">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-      </div>
-  </div>
-</template>
-
-<script>
-import { listUserAddress, getUserAddress, delUserAddress, addUserAddress, updateUserAddress, exportUserAddress } from "@/api/store/userAddress";
-import {getAllList} from "@/api/store/city";
-export default {
-  name: "add",
-  data() {
-    return {
-      citys:[],
-      province:[],
-      city:[],
-      district:[],
-      // 表单参数
-      form: {
-        province:null,
-        city:null,
-        district:null,
-        cityId:null,
-      },
-      // 表单校验
-      rules: {
-        userId: [
-          { required: true, message: "会员不能为空", trigger: "blur" }
-        ], 
-        realName: [
-          { required: true, message: "姓名不能为空", trigger: "blur" }
-        ],
-        phone: [
-          { required: true, message: "电话不能为空", trigger: "blur" }
-        ],
-        detail: [
-          { required: true, message: "详细地址不能为空", trigger: "blur" }
-        ],
-        district: [
-          { required: true, message: "收货地址不能为空", trigger: "blur" }
-        ],
-        
-      }
-    };
-  },
-  created(){
-    this.getCityList();
-  },
-  methods: {
-    districtChange(val){
-      var item=this.citys.find((item)=>{
-        return item.cityId==val;
-      })
-      console.log(item)
-      this.form.district=item.name;
-
-    },
-    cityChange(val){
-      this.district=this.citys.filter(item => item.parentId===val )
-      this.form.district=null;
-      var item=this.citys.find((item)=>{
-        return item.cityId==val;
-      })
-      console.log(item)
-      this.form.city=item.name;
-      this.form.cityId=val;
-        
-    },
-    provinceChange(val){
-      console.log(val)
-      this.city=this.citys.filter(item => item.parentId===val )
-      this.district=[];
-      this.form.city=null;
-      this.form.district=null;
-      var item=this.citys.find((item)=>{
-        return item.cityId==val;
-      })
-      console.log(item)
-      this.form.province=item.name;
-    },
-    getCityList(){
-        getAllList().then(res => {
-          this.loading = false;
-          this.citys=res.data;
-          this.province=res.data.filter(item => item.level===0 )
-        })
-    },
-    init(userId){
-      this.form.userId=userId;
-    },
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          addUserAddress(this.form).then(response => {
-            if (response.code === 200) {
-              this.msgSuccess("新增成功");
-              this.$emit("addUserAddress")
-            }
-          });
-        }
-      });
-    },
-  }
-};
-</script>
-<style scoped>
- 
-</style>

+ 0 - 84
src/api/hisStore/components/chineseMedicineDetails.vue

@@ -1,84 +0,0 @@
-<template>
-    <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-      <div style="padding: 20px; background-color: #fff;">
-         中医科普详情
-      </div>
-<div class="contentx" v-if="item!=null">
-        <div class="desct"> 中医科普信息</div>
-        <el-descriptions title="" :column="3" border>
-          <el-descriptions-item label="图片" >
-            <el-image
-                    style="width: 100px"
-                    :src="item.imgUrl"
-                    :preview-src-list="[item.imgUrl]">
-            </el-image>
-          </el-descriptions-item>
-          <el-descriptions-item label="中药名称"><span v-if="item!=null">{{item.medicineName}}</span></el-descriptions-item>
-          <el-descriptions-item label="排序"><span v-if="item!=null">{{item.sort}}</span></el-descriptions-item>
-          <el-descriptions-item label="状态"><span v-if="item!=null"> <dict-tag :options="statusOptions" :value="item.status"/></span></el-descriptions-item>
-          <el-descriptions-item label="是否常见"><span v-if="item!=null"><dict-tag :options="isUsualOptions" :value="item.isUsual"/></span></el-descriptions-item>
-          <el-descriptions-item label="归经"><span v-if="item!=null">{{item.vessel}}</span></el-descriptions-item>
-          <el-descriptions-item label="五味"span="3"><span v-if="item!=null">{{item.flavor}}</span></el-descriptions-item>
-          <el-descriptions-item label="药物作用"span="3"><span v-if="item!=null"><span v-html="item.action"></span></span></el-descriptions-item>
-          <el-descriptions-item label="用药方法" span="3"><span v-if="item!=null"> <span v-html="item.usageMethod"></span></span></el-descriptions-item>
-          <el-descriptions-item label="基本信息" span="3"><span v-if="item!=null"> <span v-html="item.descs"></span></span></el-descriptions-item>
-          <el-descriptions-item label="注意事项" span="3"><span v-if="item!=null"> <span v-html="item.msg"></span></span></el-descriptions-item>
-        </el-descriptions>
-    </div>
-
-
-    </div>
-</template>
-
-<script>
-import { listChineseMedicine, getChineseMedicine, delChineseMedicine, addChineseMedicine, updateChineseMedicine, exportChineseMedicine } from "@/api/store/chineseMedicine";
-  export default {
-    name: "coupon",
-    data() {
-      return {
-        item:null,
-      }
-    },
-    created() {
-      this.getDicts("sys_company_or").then(response => {
-        this.isUsualOptions = response.data;
-      });
-      this.getDicts("sys_company_status").then(response => {
-        this.statusOptions = response.data;
-      });
-    },
-    methods: {
-      getDetails(orderId) {
-        this.item=null;
-        getChineseMedicine(orderId).then(response => {
-            this.item = response.data;
-        
-        });
-      },
-    }
-  }
-</script>
-<style>
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-
-</style>

+ 0 - 119
src/api/hisStore/components/departmentDetails.vue

@@ -1,119 +0,0 @@
-<template>
-<div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-    <div style="padding: 20px; background-color: #fff;">
-      科室详情
-    </div>
-<div class="contentx" v-if="item!=null">
-      <div class="desct">
-        科室信息
-      </div>
-
-        <el-descriptions title="" :column="3" border>
-            <el-descriptions-item label="科室名称" >
-                <span v-if="item!=null">{{item.deptName}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="科室编码" >
-                <span v-if="item!=null">{{item.deptCode}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="图标" >
-              <el-popover
-                placement="right"
-                title=""
-                trigger="hover">
-                <img slot="reference" :src="item.iconUrl" width="50px">
-                <img :src="item.iconUrl" style="max-width: 150px;">
-              </el-popover>
-
-            </el-descriptions-item>
-            <el-descriptions-item label="排序" >
-                <span v-if="item!=null">{{item.sort}}</span>
-            </el-descriptions-item>
-
-            <el-descriptions-item label="状态" >
-             <span v-if="item!=null">
-                   <dict-tag :options="statusOptions" :value="item.status"/>
-             </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="是否推荐" >
-             <span v-if="item!=null">
-                   <dict-tag :options="isTuiOptions" :value="item.isTui"/>
-             </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="创建时间" >
-                <span v-if="item!=null">{{item.createTime}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="创建者" >
-                <span v-if="item!=null">{{item.createBy}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="更新时间" >
-                <span v-if="item!=null">{{item.updateTime}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="更新者" >
-                <span v-if="item!=null">{{item.updateBy}}</span>
-            </el-descriptions-item>
-
-
-
-        </el-descriptions>
-    </div>
-    </div>
-</template>
-
-<script>
-  import { listDepartment, getDepartment, delDepartment, addDepartment, updateDepartment, exportDepartment } from "@/api/store/department";
-  export default {
-    name: "depdetails",
-    props:["data"],
-    data() {
-      return {
-        statusOptions: [],
-        isTuiOptions: [],
-        item:null,
-        form: {
-          sreason: '',
-        }
-      }
-    },
-    created() {
-      this.getDicts("sys_company_status").then(response => {
-        this.statusOptions = response.data;
-      });
-      this.getDicts("sys_company_or").then(response => {
-          this.isTuiOptions = response.data;
-        });
-    },
-    methods: {
-      getDetails(orderId) {
-        this.item=null;
-        getDepartment(orderId).then(response => {
-              this.item = response.data;
-        });
-      },
-    }
-  }
-</script>
-<style>
-
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-
-</style>

+ 0 - 103
src/api/hisStore/components/diseaseDetails.vue

@@ -1,103 +0,0 @@
-<template>
-  <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-    <div style="padding: 20px; background-color: #fff;">
-      疾病详情
-    </div>
-<div class="contentx" v-if="item!=null">
-      <div class="desct">
-        疾病信息
-      </div>
-        <el-descriptions title="" :column="3" border>
-            <el-descriptions-item label="疾病id"  >
-                <span v-if="item!=null">{{item.diseaseId}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="疾病名称" >
-                <span v-if="item!=null">{{item.diseaseName}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="疾病编号" >
-                <span v-if="item!=null">{{item.diseaseCode}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="所属科室" >
-                <span v-if="item!=null">{{item.deptName}}</span>
-            </el-descriptions-item>
-
-
-            <el-descriptions-item label="状态" >
-             <span v-if="item!=null">
-                   <dict-tag :options="statusOptions" :value="item.status"/>
-             </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="创建时间" >
-                <span v-if="item!=null">{{item.createTime}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="简介" span="6">
-                <span v-if="item!=null">{{item.introduction}}</span>
-            </el-descriptions-item>
-
-            <el-descriptions-item label="诊断" span="6">
-                <span v-if="item!=null">{{item.diagnose}}</span>
-            </el-descriptions-item>
-            <el-descriptions-item label="症状" span="6">
-                      <span v-html="item.symptom"></span>
-
-            </el-descriptions-item>
-            <el-descriptions-item label="检验" span="6">
-                      <span v-html="item.inspect"></span>
-            </el-descriptions-item>
-        </el-descriptions>
-    </div>
-    </div>
-</template>
-
-<script>
-  import {getDisease} from '@/api/store/disease';
-  export default {
-    name: "desdetails",
-    props:["data"],
-    data() {
-      return {
-        statusOptions: [],
-        item:null,
-        form: {
-          sreason: '',
-        }
-      }
-    },
-    created() {
-      this.getDicts("sys_company_status").then(response => {
-        this.statusOptions = response.data;
-      });
-
-    },
-    methods: {
-      getDetails(orderId) {
-          this.item=null;
-          getDisease(orderId).then(response => {
-              this.item = response.data;
-          });
-      },
-    }
-  }
-</script>
-<style>
-
- .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-</style>

+ 0 - 119
src/api/hisStore/components/doctorArticleDetails.vue

@@ -1,119 +0,0 @@
-<template>
-  <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-    <div style="padding: 20px; background-color: #fff;">
-      文章详情
-    </div>
-    <div class="content" >
-      <div class="desct">
-        文章信息
-      </div>
-      <el-descriptions title="" :column="3" border>
-        <el-descriptions-item label="文章ID"  >
-            <span v-if="item!=null">{{item.articleId}}</span>
-        </el-descriptions-item>
-        <el-descriptions-item label="封面图" >
-          <el-popover v-if="item!=null"
-            placement="right"
-            title=""
-            trigger="hover">
-            <img slot="reference" :src="item.imageUrl" width="50px">
-            <img :src="item.imageUrl" style="max-width: 150px;">
-          </el-popover>
-        </el-descriptions-item>
-        <el-descriptions-item label="分类" >
-            <dict-tag v-if="item!=null" :options="cateStatus" :value="item.cateId"/>
-        </el-descriptions-item>
-        <el-descriptions-item label="标题" >
-            <span v-if="item!=null">{{item.title}}</span>
-        </el-descriptions-item>
-
-        <el-descriptions-item label="浏览量" >
-            <span v-if="item!=null">{{item.views}}</span>
-        </el-descriptions-item>
-
-        <el-descriptions-item label="状态" >
-        <span v-if="item!=null">
-              <dict-tag :options="articleStatus" :value="item.status"/>
-        </span>
-        </el-descriptions-item>
-        <el-descriptions-item label="创建时间" >
-            <span v-if="item!=null">{{item.createTime}}</span>
-        </el-descriptions-item>
-        <el-descriptions-item label="更新时间" >
-            <span v-if="item!=null">{{item.updateTime}}</span>
-        </el-descriptions-item>
-        <el-descriptions-item label="内容" >
-            <span v-if="item!=null" v-html="item.content"></span>
-        </el-descriptions-item>
-      </el-descriptions>
-    </div>
-    <div class="content" v-if="item!=null">
-      <div class="desct">
-        视频内容
-      </div>
-      <div style="display: flex; justify-content: center; align-items: center;">
-          <div style="display: grid; place-items: center;">
-             <video  :src="item.videoUrl" controls style="max-width: 400px; max-height: 400px;"></video>
-          </div>
-      </div>                         
-    </div>
-  </div>
-</template>
-
-<script>
-  import {getArticle} from "@/api/store/doctorArticle";
-  export default {
-    name: "articledetails",
-    props:["data"],
-    data() {
-      return {
-        cateStatus: [],
-        articleStatus: [],
-        statusOptions: [],
-        item:null,
-      }
-    },
-    created() {
-      this.getDicts("sys_doctor_article_cate").then(response => {
-        this.cateStatus = response.data;
-      });
-      this.getDicts("sys_doctor_article_status").then(response => {
-        this.articleStatus = response.data;
-      });
-      this.getDicts("sys_company_status").then(response => {
-        this.statusOptions = response.data;
-      });
-    },
-    methods: {
-      getDetails(orderId) {
-          this.item=null;
-          getArticle(orderId).then(response => {
-              this.item = response.data;
-          });
-      },
-    }
-  }
-</script>
-<style>
-
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .content{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-</style>

+ 0 - 90
src/api/hisStore/components/famousPrescribeDetails.vue

@@ -1,90 +0,0 @@
-<template>
-    <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-      <div style="padding: 20px; background-color: #fff;">
-         经典名方详情
-      </div>
-<div class="contentx" v-if="item!=null">
-        <div class="desct"> 经典名方信息</div>
-        <el-descriptions title="" :column="3" border>
-          <<el-descriptions-item label="图片" >
-              <el-image
-                      style="width: 100px"
-                      :src="item.imgUrl"
-                      :preview-src-list="[item.imgUrl]">
-              </el-image>
-            </el-descriptions-item>
-          <el-descriptions-item label="经典名方名称"><span v-if="item!=null">{{item.prescribeName}}</span></el-descriptions-item>
-          <el-descriptions-item label="排序"><span v-if="item!=null">{{item.sort}}</span></el-descriptions-item>
-          <el-descriptions-item label="状态"><span v-if="item!=null"> <dict-tag :options="statusOptions" :value="item.status"/></span></el-descriptions-item>
-          <el-descriptions-item label="方剂类型"><span v-if="item!=null"> <dict-tag :options="prescribeTypeOptions" :value="item.prescribeType"/></span></el-descriptions-item>
-           <el-descriptions-item label="主治疾病"><span v-if="item!=null">{{item.indication}}</span></el-descriptions-item>
-          <el-descriptions-item label="归属书籍" span="3"><span v-if="item!=null">{{item.belongBook}}</span></el-descriptions-item>
-          <el-descriptions-item label="药物作用"span="3"><span v-if="item!=null"><span v-html="item.action"></span></span></el-descriptions-item>
-          <el-descriptions-item label="用药方法" span="3"><span v-if="item!=null"> <span v-html="item.usageMethod"></span></span></el-descriptions-item>
-          <el-descriptions-item label="基本信息" span="3"><span v-if="item!=null"> <span v-html="item.descs"></span></span></el-descriptions-item>
-          <el-descriptions-item label="注意事项" span="3"><span v-if="item!=null"> <span v-html="item.msg"></span></span></el-descriptions-item>
-          <el-descriptions-item label="创建时间"><span v-if="item!=null">{{item.createTime}}</span></el-descriptions-item>
-
-        </el-descriptions>
-    </div>
-
-
-    </div>
-</template>
-
-<script>
-import { listFamousPrescribe, getFamousPrescribe, delFamousPrescribe, addFamousPrescribe, updateFamousPrescribe, exportFamousPrescribe } from "@/api/store/famousPrescribe";
-  export default {
-    name: "prescribeName",
-    data() {
-      return {
-        // 方剂类型字典
-        prescribeTypeOptions: [],
-        // 状态字典
-        statusOptions: [],
-        item:null,
-      }
-    },
-    created() {
-        this.getDicts("sys_famous_prescribe_type").then(response => {
-          this.prescribeTypeOptions = response.data;
-        });
-        this.getDicts("sys_company_status").then(response => {
-          this.statusOptions = response.data;
-        });
-    },
-    methods: {
-      getDetails(orderId) {
-        this.item=null;
-        getFamousPrescribe(orderId).then(response => {
-            this.item = response.data;
-
-        });
-      },
-    }
-  }
-</script>
-<style>
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-
-</style>

+ 0 - 89
src/api/hisStore/components/integralGoodsDetails.vue

@@ -1,89 +0,0 @@
-<template>
-    <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-      <div style="padding: 20px; background-color: #fff;">
-         积分商品详情
-      </div>
-<div class="contentx" v-if="item!=null">
-        <div class="desct"> 积分商品信息</div>
-        <el-descriptions title="" :column="3" border>
-          <el-descriptions-item label="商品名称"><span v-if="item!=null">{{item.goodsName}}</span></el-descriptions-item>
-          <el-descriptions-item label="封面图"> <el-image v-if="item.imgUrl!=null"
-                  style="width: 100px"
-                  :src="item.imgUrl"
-                  :preview-src-list="[item.imgUrl]">
-              </el-image></el-descriptions-item>
-          <el-descriptions-item label="商品分类"> <dict-tag :options="goodsTypeOptions" :value="item.goodsType"/></el-descriptions-item>
-          <el-descriptions-item label="原价"><span v-if="item!=null">{{item.otPrice}}</span></el-descriptions-item>
-
-
-          <el-descriptions-item label="所需积分"><span v-if="item!=null">{{item.integral}}</span></el-descriptions-item>
-          <el-descriptions-item label="排序"><span v-if="item!=null">{{item.sort}}</span></el-descriptions-item>
-          <el-descriptions-item label="库存"><span v-if="item!=null">{{item.stock}}</span></el-descriptions-item>
-          <el-descriptions-item label="状态"><span v-if="item!=null"> <dict-tag :options="statusOptions" :value="item.status"/></span></el-descriptions-item>
-          <el-descriptions-item label="创建时间"><span v-if="item!=null">{{item.createTime}}</span></el-descriptions-item>
-        </el-descriptions>
-    </div>
-    <div class="contentx" v-if="item!=null">
-        <div class="desct"> 积分商品信息</div>
-    <span v-html="item.descs"></span>
-    </div>
-
-    </div>
-</template>
-
-<script>
-import { listIntegralGoods, getIntegralGoods, delIntegralGoods, addIntegralGoods, updateIntegralGoods, exportIntegralGoods } from "@/api/store/integralGoods";
-  export default {
-    name: "coupon",
-    data() {
-      return {
-        // 商品分类字典
-        goodsTypeOptions: [],
-        // 状态字典
-        statusOptions: [],
-        item:null,
-      }
-    },
-    created() {
-        this.getDicts("sys_integral_goods_type").then(response => {
-          this.goodsTypeOptions = response.data;
-        });
-        this.getDicts("sys_company_status").then(response => {
-          this.statusOptions = response.data;
-        });
-    },
-    methods: {
-      getDetails(orderId) {
-        this.item=null;
-        getIntegralGoods(orderId).then(response => {
-            this.item = response.data;
-
-        });
-      },
-    }
-  }
-</script>
-<style>
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-
-</style>

+ 0 - 312
src/api/hisStore/components/integralOrderDetails.vue

@@ -1,312 +0,0 @@
-<template>
-    <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-      <div style="padding: 20px; background-color: #fff;">
-         积分订单详情
-      </div>
-<div class="contentx" v-if="item!=null">
-        <div class="desct"> 积分订单信息</div>
-        <div class="order-status" v-if="item!=null" >
-                  <el-steps  :active="item.status==3?item.status:item.status-1" align-center finish-status="success">
-                    <el-step title="待发货"></el-step>
-                    <el-step title="待收货"></el-step>
-                    <el-step title="已完成"></el-step>
-                  </el-steps>
-        </div>
-         <el-card shadow="never" style="margin-top: 15px">
-           <div class="operate-container"  v-if="item!=null">
-             <span style="margin-left: 20px" class="color-danger">订单状态:
-                <el-tag prop="status" v-for="(ite, index) in statusOptions"    v-if="item.status==ite.dictValue">{{ite.dictLabel}}</el-tag>
-             </span>
-             <div class="operate-button-container"  v-if="item.status==1" v-hasPermi="['his:integralOrder:sendGoods']">
-                <el-button size="mini" @click="sendVisible=true" >发货</el-button>
-             </div>
-            <div class="operate-button-container"   v-if="item.deliverySn!=null" v-hasPermi="['his:integralOrder:express']">
-              <el-button size="mini" @click="showExpress()" >查看物流</el-button>
-            </div>
-
-            <div class="operate-button-container"  v-hasPermi="['his:integralOrder:edit']">
-              <el-button size="mini" @click="updateOrder()" >修改订单</el-button>
-            </div>
-           </div>
-           <div class="desct">
-            基本信息
-           </div>
-           <el-descriptions title="" :column="3" border>
-             <el-descriptions-item label="订单编号"><span v-if="item!=null">{{item.orderCode}}</span></el-descriptions-item>
-              <el-descriptions-item label="会员ID"><span v-if="item!=null">{{item.userId}}</span></el-descriptions-item>
-             <el-descriptions-item label="会员"><span v-if="item.nickName!=null">{{item.nickName}}({{item.phone}})</span></el-descriptions-item>
-             <el-descriptions-item label="用户名称"><span v-if="item!=null">{{item.userName}}</span></el-descriptions-item>
-             <el-descriptions-item label="用户电话"><span v-if="item!=null">{{item.userPhone}}</span>
-              <el-button icon="el-icon-search" size="mini" @click="handlePhone()" style="margin-left: 20px;" circle v-hasPermi="['his:integralOrder:queryPhone']"></el-button>
-            </el-descriptions-item>
-              <el-descriptions-item label="用户地址"><span v-if="item!=null">{{item.userAddress}}</span></el-descriptions-item>
-             <el-descriptions-item label="支付积分"><span v-if="item!=null">{{item.integral}}</span></el-descriptions-item>
-             <el-descriptions-item label="状态"><span v-if="item!=null"> <dict-tag :options="statusOptions" :value="item.status"/></span></el-descriptions-item>
-             <el-descriptions-item label="快递公司编号"><span v-if="item!=null">{{item.deliveryCode}}</span></el-descriptions-item>
-             <el-descriptions-item label="快递名称"><span v-if="item!=null">{{item.deliveryName}}</span></el-descriptions-item>
-             <el-descriptions-item label="快递单号"><span v-if="item!=null">{{item.deliverySn}}</span></el-descriptions-item>
-             <el-descriptions-item label="发货时间"><span v-if="item!=null">{{item.deliveryTime}}</span></el-descriptions-item>
-             <el-descriptions-item label="提交时间"><span v-if="item!=null">{{item.createTime}}</span></el-descriptions-item>
-           </el-descriptions>
-         </el-card>
-
-    </div>
-      <div class="contentx" v-if="item!=null" style="padding-bottom: 70px;">
-       <div class="desct">
-           商品信息
-          </div>
-       <el-table
-              border
-              v-if="prod!=null"
-              :data="prod"
-              size="small"
-              style="margin-top: 20px" >
-              <el-table-column label="商品图片"  align="center">
-                <template slot-scope="scope">
-                  <img :src="scope.row.imgUrl" style="height: 80px">
-                </template>
-              </el-table-column>
-              <el-table-column label="商品名称"  align="center">
-                <template slot-scope="scope">
-                  <p>{{scope.row.goodsName}}</p>
-                </template>
-              </el-table-column>
-              <el-table-column label="积分" align="center">
-                <template slot-scope="scope">
-                  <p>¥{{scope.row.integral}}</p>
-                </template>
-              </el-table-column>
-
-            </el-table>
-       </div>
-      <el-dialog
-           width="50%"
-           title="发货"
-           :visible.sync="sendVisible"
-           append-to-body @close="sendCancel">
-      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-          <el-form-item label="快递公司编号" prop="deliveryCode">
-                    <el-input v-model="form.deliveryCode" placeholder="请输入快递公司编号" />
-                  </el-form-item>
-                  <el-form-item label="快递名称" prop="deliveryName">
-                    <el-input v-model="form.deliveryName" placeholder="请输入快递名称" />
-                  </el-form-item>
-                  <el-form-item label="快递单号" prop="deliverySn">
-                    <el-input v-model="form.deliverySn" placeholder="请输入快递单号" />
-                  </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-                          <el-button type="primary" @click="sendGoods">确 定</el-button>
-                          <el-button @click="sendCancel">取 消</el-button>
-        </div>
-
-          </el-dialog>
-
-          <el-dialog :title="expressDialog.title" :visible.sync="expressDialog.open" width="600px" append-to-body>
-            <el-table style="margin-top: 20px;width: 100%"
-                      ref="orderHistoryTable"
-                      :data="traces" border>
-              <el-table-column label="操作时间"  width="160" align="center">
-                <template slot-scope="scope">
-                  {{scope.row.AcceptTime}}
-                </template>
-              </el-table-column>
-               <el-table-column label="位置" align="center">
-                <template slot-scope="scope">
-                  {{scope.row.Location}}
-                </template>
-              </el-table-column>
-              <el-table-column label="描述" align="center">
-                <template slot-scope="scope">
-                  {{scope.row.AcceptStation}}
-                </template>
-              </el-table-column>
-            </el-table>
-          </el-dialog>
-
-          <el-dialog :title="editOrder.title" :visible.sync="editOrder.open" width="600px" append-to-body>
-            <el-form ref="editForm" :model="editForm" :rules="editRules" label-width="100px">
-              <el-form-item label="订单状态" prop="status" >
-                <el-select v-model="editForm.status" placeholder="请选择状态" clearable size="small" filterable>
-                    <el-option
-                      v-for="dict in statusOptions "
-                      :key="dict.dictValue"
-                      :label="dict.dictLabel"
-                      :value="dict.dictValue"
-                    />
-                  </el-select>
-                </el-form-item>
-              <el-form-item label="详情地址" prop="userAddress"  >
-                <el-input v-model="editForm.userAddress" placeholder="请输入" />
-              </el-form-item>
-              <el-form-item label="备注" prop="remark"  >
-                <el-input v-model="editForm.remark" placeholder="请输入备注" />
-              </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-              <el-button type="primary" @click="submitEditForm">确 定</el-button>
-            </div>
-          </el-dialog>
-    </div>
-</template>
-
-<script>
-import {getExpress, listIntegralOrder, sendgoods,getIntegralOrder, delIntegralOrder, addIntegralOrder, updateIntegralOrder, exportIntegralOrder,getOrderUserPhone } from "@/api/store/integralOrder";
-  export default {
-    name: "integralOrder",
-    data() {
-      return {
-        expressDialog:{
-          title:"物流信息",
-          open:false,
-        },
-        editOrder:{
-          title:"修改订单",
-          open:false,
-        },
-        editForm:{
-          orderId:null,
-          status:null,
-          userAddress:null,
-          remark:"",
-        },
-        editRules:{},
-        item:null,
-        express:null,
-        traces:[],
-        rules:{
-      deliveryCode: [
-        { required: true, message: '请输入快递公司编号', trigger: 'blur' }
-      ],
-      deliveryName: [
-        { required: true, message: '请输入快递名称', trigger: 'blur' }
-      ],
-      deliverySn: [
-        { required: true, message: '请输入快递单号', trigger: 'blur' }
-      ]
-    },
-        sendVisible:false,
-        form: {
-          deliveryCode: null,
-          deliveryName:null,
-          deliverySn:null,
-          orderId:null,
-        }
-      }
-    },
-    created() {
-      this.getDicts("sys_integral_order_status").then(response => {
-        this.statusOptions = response.data;
-      });
-    },
-    methods: {
-      handlePhone(){
-        const orderId = this.item.orderId;
-        getOrderUserPhone(orderId).then(response =>{
-            this.item.userPhone = response.userPhone;
-        })
-      },
-      updateOrder(){
-        this.editOrder.open=true;
-        this.editForm.orderId=this.item.orderId;
-        this.editForm.remark=this.item.remark;
-        this.editForm.status = this.item.status.toString();
-        this.editForm.userAddress = this.item.userAddress.toString();
-      },
-     //修改订单状态
-     submitEditForm(){
-        this.$refs["editForm"].validate(valid => {
-        if (valid) {
-          updateIntegralOrder(this.editForm).then(response => {
-            if (response.code === 200) {
-              this.msgSuccess("操作成功");
-              this.editOrder.open = false;
-              this.getDetails(this.item.orderId);
-              }
-            });
-          }
-        });
-      },
-      sendCancel(){
-           this.sendVisible = false;
-           this.form={
-             deliveryCode: null,
-             deliveryName:null,
-             deliverySn:null,
-             orderId:null,
-           }
-      },
-      showExpress(){
-        this.expressDialog.open=true;
-        getExpress(this.item.orderId).then(response => {
-            this.express = response.data;
-            if(this.express!=null&&this.express.Traces!=null){
-                this.traces=this.express.Traces
-            }
-        });
-      },
-          sendGoods(){
-              this.form.orderId=this.item.orderId;
-              sendgoods(this.form).then(response => {
-                    this.msgSuccess("修改成功");
-                    this.sendVisible = false;
-                    getIntegralOrder(this.item.orderId).then(response => {
-                        this.item = response.data;
-                        this.$parent.$parent.getList();
-                    });
-
-                    this.form={
-                    deliveryCode: null,
-                    deliveryName:null,
-                    deliverySn:null,
-                    orderId:null,
-                  }
-              });
-            },
-      getDetails(orderId) {
-        this.item=null;
-        getIntegralOrder(orderId).then(response => {
-            this.item = response.data;
-            this.prod=[JSON.parse(this.item.itemJson)];
-        });
-      },
-    }
-  }
-</script>
-<style>
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-.operate-container {
-  background: #F2F6FC;
-  height: 60px;
-  margin: -20px -20px 0;
-  line-height: 60px;
-}
-.order-content{
-  margin: 10px;
-
-}
-.operate-button-container {
-  float: right;
-  margin-right: 20px
-}
-</style>

+ 0 - 80
src/api/hisStore/components/medicatedFoodDetails.vue

@@ -1,80 +0,0 @@
-<template>
-    <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-      <div style="padding: 20px; background-color: #fff;">
-         药膳详情
-      </div>
-<div class="contentx" v-if="item!=null">
-        <div class="desct"> 药膳信息</div>
-        <el-descriptions title="" :column="3" border>
-          <<el-descriptions-item label="图片" >
-              <el-image
-                      style="width: 100px"
-                      :src="item.imgUrl"
-                      :preview-src-list="[item.imgUrl]">
-              </el-image>
-            </el-descriptions-item>
-          <el-descriptions-item label="药膳名称"><span v-if="item!=null">{{item.foodName}}</span></el-descriptions-item>
-          <el-descriptions-item label="排序"><span v-if="item!=null">{{item.sort}}</span></el-descriptions-item>
-           <el-descriptions-item label="功效"><span v-if="item!=null">{{item.action}}</span></el-descriptions-item>
-          <el-descriptions-item label="食材"><span v-if="item!=null">{{item.food}}</span></el-descriptions-item>
-
-          <el-descriptions-item label="创建时间"><span v-if="item!=null">{{item.createTime}}</span></el-descriptions-item>
-          <el-descriptions-item label="状态"><span v-if="item!=null"> <dict-tag :options="statusOptions" :value="item.status"/></span></el-descriptions-item>
-          <el-descriptions-item label="主治疾病" span="3"><span v-if="item!=null" >{{item.indications}}</span></el-descriptions-item>
-          <el-descriptions-item label="描述" span="3"><span v-if="item!=null" > <span v-html="item.descs"></span></span></el-descriptions-item>
-        </el-descriptions>
-    </div>
-
-
-    </div>
-</template>
-
-<script>
-import { listMedicatedFood, getMedicatedFood, delMedicatedFood, addMedicatedFood, updateMedicatedFood, exportMedicatedFood } from "@/api/store/medicatedFood";
-  export default {
-    name: "MedicatedFoodDetails",
-    data() {
-      return {
-        item:null,
-      }
-    },
-    created() {
-        this.getDicts("sys_company_status").then(response => {
-          this.statusOptions = response.data;
-        });
-    },
-    methods: {
-      getDetails(orderId) {
-        this.item=null;
-        getMedicatedFood(orderId).then(response => {
-            this.item = response.data;
-       
-        });
-      },
-    }
-  }
-</script>
-<style>
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-
-</style>

+ 0 - 369
src/api/hisStore/components/offlineOrder.vue

@@ -1,369 +0,0 @@
-<template>
-  <div class="order-content">
-      <div class="order-status" v-if="order!=null" >
-          <el-steps  :active="order.status===3?order.status+1:order.status" align-center>
-            <el-step title="客服制单"></el-step>
-            <el-step title="待业务核实"></el-step>
-            <el-step title="待主管审核"></el-step>
-            <el-step title="内勤对流向"></el-step>
-          </el-steps>
-      </div>
-      <div>
-
-      <el-card shadow="never" style="margin-top: 15px">
-      <div class="operate-container"  v-if="order!=null">
-        <span  style="margin-left: 20px" class="color-danger">订单状态:
-           <el-tag prop="status" v-for="(item, index) in statusOptions"    v-if="order.status.toString()===item.dictValue">{{item.dictLabel}}</el-tag>
-        </span>
-
-        <div class="operate-button-container" >
-          <el-button size="mini" v-if="order.status ===2" @click="handleAudit()"  v-hasPermi="['store:storeOrderOffline:audit']" >主管审核</el-button>
-        </div>
-      </div>
-      <div style="margin: 20px 0px"  v-if="order!=null">
-        <span class="font-small">
-          基本信息
-        </span>
-      </div>
-      <el-descriptions :column="4" border  >
-        <el-descriptions-item label="订单ID"  >
-                <span v-if="order!=null">
-                  {{order.orderId}}
-                </span>
-        </el-descriptions-item>
-            <el-descriptions-item label="订单编号"  >
-                <span v-if="order!=null">
-                  {{order.orderCode}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="客户名称"  >
-                <span v-if="order!=null">
-                  {{order.customerName}}
-                </span>
-            </el-descriptions-item>
-
-
-            <el-descriptions-item label="客户电话"  >
-                <span v-if="order!=null ">
-                  {{order.mobile }}
-                </span>
-                <el-button icon="el-icon-search" size="mini" @click="handlePhone()" style="margin-left: 20px;" circle v-hasPermi="['store:storeOrderOffline:queryPhone']"></el-button>
-              </el-descriptions-item>
-              <el-descriptions-item v-if="order!=null " label="应付金额"  >
-                <span >
-                  {{order.payPrice }}
-                </span>
-              </el-descriptions-item>
-              <el-descriptions-item v-if="order!=null " label="实付金额"  >
-                <span >
-                  {{order.payMoney }}
-                </span>
-              </el-descriptions-item>
-              <el-descriptions-item v-if="customerInfo!=null " label="客户编码"  >
-                <span >
-                  {{customerInfo.customerCode }}
-                </span>
-              </el-descriptions-item>
-            <el-descriptions-item label="创建时间"  >
-                <span v-if="order!=null ">
-                  {{order.createTime }}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="所属客服"  >
-                <span v-if="order!=null ">
-                  {{order.companyUserName }}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="所属部门"  >
-              <span v-if="order!=null ">
-                {{order.companyName }}
-              </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="所属业务员"  >
-              <span v-if="order!=null ">
-                {{order.uploadUserName }}
-              </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="凭证上传时间"  >
-                  <span v-if="order!=null ">
-                    {{order.uploadTime }}
-                  </span>
-            </el-descriptions-item>
-        <el-descriptions-item label="审核人"  >
-                  <span v-if="order!=null ">
-                    {{order.auditBy }}
-                  </span>
-        </el-descriptions-item>
-        <el-descriptions-item label="审核时间"  >
-                  <span v-if="order!=null ">
-                    {{order.auditTime }}
-                  </span>
-        </el-descriptions-item>
-            <el-descriptions-item label="备注"  >
-                <span v-if="order!=null ">
-                  {{order.remark }}
-                </span>
-            </el-descriptions-item>
-
-
-
-      </el-descriptions>
-      <div style="margin: 20px 0px"  v-if="certificates!=null">
-        <span class="font-small">
-          凭证信息
-        </span>
-      </div>
-      <el-image
-          v-if="this.certificates != null"
-          :src="certificates"
-          :preview-src-list="[certificates]"
-          :style="{ width: '100px', height: '100px' }"
-          @click.native="showImageDialog"
-        ></el-image>
-        <el-dialog :visible.sync="dialogVisibleImage" width="10%">
-          <img :src="certificates" style="width: 100%" alt="">
-        </el-dialog>
-
-      <div style="margin-top: 20px">
-        <span class="font-small">商品信息</span>
-      </div>
-      <el-table
-        border
-        v-if="items!=null"
-        :data="items"
-        size="small"
-        style="width: 100%;margin-top: 20px" >
-        <el-table-column label="商品图片" width="150" align="center">
-          <template slot-scope="scope">
-            <img :src="JSON.parse(scope.row.jsonInfo).image" style="height: 80px">
-          </template>
-        </el-table-column>
-        <el-table-column label="商品名称" width="300" align="center">
-          <template slot-scope="scope">
-            <p>{{JSON.parse(scope.row.jsonInfo).productName}}</p>
-          </template>
-        </el-table-column>
-        <el-table-column label="单价" width="240" align="center">
-          <template slot-scope="scope">
-            <p>¥{{JSON.parse(scope.row.jsonInfo).price.toFixed(2)}}</p>
-          </template>
-        </el-table-column>
-        <el-table-column label="规格" width="240" align="center">
-          <template slot-scope="scope">
-            {{JSON.parse(scope.row.jsonInfo).sku}}
-          </template>
-        </el-table-column>
-        <el-table-column label="数量" width="180" align="center">
-          <template slot-scope="scope">
-            {{scope.row.num}}
-          </template>
-        </el-table-column>
-<!--        <el-table-column label="小计"  align="center">-->
-<!--          <template slot-scope="scope" >-->
-<!--            ¥{{scope.row.num*JSON.parse(scope.row.jsonInfo).price.toFixed(2)}}-->
-<!--          </template>-->
-<!--        </el-table-column>-->
-      </el-table>
-<!--      <div style="float: right;margin: 20px" v-if="order!=null">-->
-<!--        合计:<span class="color-danger">¥{{order.totalPrice.toFixed(2)}}</span>-->
-<!--      </div>-->
-      </el-card>
-    </div>
-    <el-dialog :title="certificateDialig.title" :visible.sync="certificateDialig.open" append-to-body>
-      <el-form ref="certificateForm" :model="certificateForm" :rules="certificateRules" label-width="100px">
-        <el-form-item label="凭证" prop="certificates">
-          <ImageUpload v-model="photoArr" type="image" :limit="1" :width="150" :height="150" />
-        </el-form-item>
-        <el-form-item label="实付金额" prop="payPrice">
-          <el-input-number v-model="certificateForm.payMoney"  size="mini"    ></el-input-number>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="handleConfirm">确 定</el-button>
-      </div>
-    </el-dialog>
-    <el-drawer
-      :append-to-body="true"
-      size="75%"
-      :title="customer.title" :visible.sync="customer.open" append-to-body
-      >
-        <customer-details  ref="customerDetails" />
-    </el-drawer>
-
-  </div>
-</template>
-
-<script>
-import { listStoreOrderOffline, getStoreOrderOffline,auditOrder,getPhone } from "@/api/store/storeOrderOffline";
-import ImageUpload from '@/components/ImageUpload'
-import customerDetails from '../../crm/components/customerDetails.vue';
-export default {
-  name: "offlineOrder",
-  components: {customerDetails,
-    ImageUpload},
-  data() {
-    return {
-      customerUserStatusOptions:[],
-      scheduleOptions:[],
-      dialogVisibleImage: false,
-      customerInfo:null,
-      customer:{
-        title:"客户详情",
-        open:false,
-      },
-      photoArr:null,
-      certificateDialig:{
-        title:"上传凭证",
-        open:false,
-      },
-      certificateForm:{
-        payMoney:null,
-        certificates:null,
-      },
-      addSms:{
-        open:false,
-        title:"发短信"
-      },
-      certificateRules:{
-        certificates:[
-          { required: true, message: "凭证不能为空", trigger: "change" }
-        ]
-      },
-      customers:[],
-
-      orderId:null,
-      statusOptions:[],
-      certificates:null,
-      order:null,
-      user:{},
-      logs:[],
-      items:[],
-      express:[],
-      traces:[],
-      payments:[],
-    };
-  },
-  created() {
-    this.getDicts("crm_customer_user_status").then((response) => {
-            this.customerUserStatusOptions = response.data;
-        });
-    this.getDicts("sys_order_offline_status").then((response) => {
-      this.statusOptions = response.data;
-    });
-
-  },
-  computed: {
-  },
-  methods: {
-
-    handlePhone(){
-        const id = this.orderId;
-        getPhone(id).then(response =>{
-          this.order.mobile = response.userPhone;
-        })
-      },
-
-    showImageDialog() {
-      this.dialogVisible = true;
-    },
-    handleCustomer(){
-      var that=this;
-      this.customer.open = true;
-      setTimeout(() => {
-          that.$refs.customerDetails.getDetails(this.order.crmId);
-      }, 200);
-    },
-    handleCertificates(){
-      this.certificateDialig.open = true;
-      this.photoArr = null;
-    },
-    handleConfirm(){
-      this.certificateForm.orderId = this.orderId;
-      this.certificateForm.certificates = this.photoArr;
-      uploadCredentials(this.certificateForm).then(response => {
-              if (response.code === 200) {
-                this.msgSuccess("上传成功");
-                this.certificateDialig.open = false;
-                this.getOfflineOrder(this.orderId);
-              }
-            });
-    },
-    getOfflineOrder(orderId){
-      this.order = null;
-      this.orderId=orderId;
-      this.certificates = null;
-      getStoreOrderOffline(orderId).then(response => {
-            this.order = response.order;
-            if(response.order.certificates != null){
-              this.certificates = response.order.certificates;
-            }
-            this.items = response.items;
-            this.customerInfo=response.customer;
-        });
-     },
-    /** 审核按钮操作 */
-    handleAudit() {
-      this.$confirm('是否确认审核线下订单编号为"' + this.orderId + '"的数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        return auditOrder(this.orderId);
-      }).then(() => {
-        this.getOfflineOrder(this.orderId);
-        this.msgSuccess("审核成功");
-      }).catch(() => {});
-    }
-  }
-};
-</script>
-<style scoped>
-.order-content{
-  margin: 10px;
-}
-.detail-container {
-  width: 80%;
-  padding: 20px 20px 20px 20px;
-  margin: 20px auto;
-}
-
-.operate-container {
-  background: #F2F6FC;
-  height: 60px;
-  margin: -20px -20px 0;
-  line-height: 60px;
-}
-
-.operate-button-container {
-  float: right;
-  margin-right: 20px
-}
-
-.table-layout {
-  margin-top: 20px;
-  border-left: 1px solid #DCDFE6;
-  border-top: 1px solid #DCDFE6;
-}
-
-.table-cell {
-  height: 60px;
-  line-height: 40px;
-  border-right: 1px solid #DCDFE6;
-  border-bottom: 1px solid #DCDFE6;
-  padding: 10px;
-  font-size: 14px;
-  color: #606266;
-  text-align: center;
-  overflow: hidden;
-}
-
-.table-cell-title {
-  border-right: 1px solid #DCDFE6;
-  border-bottom: 1px solid #DCDFE6;
-  padding: 10px;
-  background: #F2F6FC;
-  text-align: center;
-  font-size: 14px;
-  color: #303133;
-}
-</style>

+ 0 - 398
src/api/hisStore/components/productAfterSalesOrder.vue

@@ -1,398 +0,0 @@
-<template>
-  <div class="order-content">
-      <div class="order-status" v-if="afterSales!=null" >
-          <el-steps  :active="afterSales.status==4?afterSales.status+1:afterSales.status" align-center>
-            <el-step title="待审核(24小时自动审核)"></el-step>
-            <el-step title="平台已审核等待用户发货"></el-step>
-            <el-step title="用户已发货待仓库审核"></el-step>
-            <el-step title="财务审核"></el-step>
-            <el-step title="退款成功"></el-step>
-          </el-steps>
-      </div>
-      <div v-if="afterSales!=null">
-      <el-card shadow="never" style="margin-top: 15px">
-        <div class="operate-container">
-          <span style="margin-left: 20px" class="color-danger">售后状态:
-            <el-tag prop="status" v-for="(item, index) in salesStatusOptions"    v-if="afterSales.salesStatus==item.dictValue">{{item.dictLabel}}</el-tag>
-          </span>
-          <div class="operate-button-container"  >
-            <el-button size="mini"  v-hasPermi="['store:storeAfterSales:edit']" v-show="afterSales.salesStatus==0&&afterSales.status===1"  @click="addDelivery">编辑物流</el-button>
-            <el-button size="mini"  v-hasPermi="['store:storeAfterSales:audit1']" v-show="afterSales.salesStatus==0&&afterSales.status===0" @click="handleAudit1">平台审核</el-button>
-            <el-button size="mini"  v-hasPermi="['store:storeAfterSales:audit2']" v-show="afterSales.salesStatus==0&&afterSales.status===2" @click="handleAudit2">仓库审核</el-button>
-            <el-button size="mini"  v-hasPermi="['store:storeAfterSales:refund']" @click="handleRefund"  v-show="afterSales.salesStatus==0&&afterSales.status===3">财务审核</el-button>
-            <el-button size="mini"  v-hasPermi="['store:storeAfterSales:cancel']" @click="cancel"  v-show="afterSales.salesStatus==0">撤销</el-button>
-            <el-button size="mini"  @click="showOrder">查看订单</el-button>
-         </div>
-        </div>
-        <div style="margin: 20px 0px">
-          <span class="font-small">基本信息</span>
-        </div>
-        <el-descriptions   :column="4" border  >
-            <el-descriptions-item label="订单编号"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.orderCode}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="会员"  >
-                <span v-if="user!=null">
-                  {{user.nickname}}({{user.phone}})
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="退款金额"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.refundAmount}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="申请类型"  >
-                <span v-if="afterSales!=null">
-                  <el-tag  v-for="(item, index) in serviceTypeOptions"    v-if="afterSales.serviceType==item.dictValue" >{{item.dictLabel}}</el-tag>
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="申请原因"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.reasons}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="说明"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.explains}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="状态"  >
-                <span v-if="afterSales!=null">
-                  <el-tag   v-for="(item, index) in statusOptions"    v-if="afterSales.status==item.dictValue" >{{item.dictLabel}}</el-tag>
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="售后状态"  >
-                <span v-if="afterSales!=null">
-                  <el-tag  v-for="(item, index) in salesStatusOptions"    v-if="afterSales.salesStatus==item.dictValue" >{{item.dictLabel}}</el-tag>
-                </span>
-            </el-descriptions-item>
-
-        </el-descriptions>
-        <div style="margin: 20px 0px">
-          <span class="font-small">收货信息</span>
-        </div>
-        <el-descriptions   :column="4" border  >
-            <el-descriptions-item label="收货人"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.consignee}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="收货人"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.consignee}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="手机号码"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.phoneNumber}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="收货地址"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.address}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="快递公司"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.deliveryName}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="运单号"  >
-                <span v-if="afterSales!=null">
-                  {{afterSales.deliverySn}}
-                </span>
-            </el-descriptions-item>
-        </el-descriptions>
-        <div style="margin-top: 20px">
-          <span class="font-small">商品信息</span>
-        </div>
-        <el-table
-          border
-          :data="items"
-          size="small"
-          style="width: 100%;margin-top: 20px" >
-          <el-table-column label="商品图片" width="150" align="center">
-            <template slot-scope="scope">
-              <img :src="JSON.parse(scope.row.jsonInfo).image" style="height: 80px">
-            </template>
-          </el-table-column>
-          <el-table-column label="商品名称" width="300" align="center">
-            <template slot-scope="scope">
-              <p>{{JSON.parse(scope.row.jsonInfo).productName}}</p>
-            </template>
-          </el-table-column>
-          <el-table-column label="价格" width="240" align="center">
-            <template slot-scope="scope">
-              <p>价格:¥{{JSON.parse(scope.row.jsonInfo).price}}</p>
-
-            </template>
-          </el-table-column>
-          <el-table-column label="属性" width="240" align="center">
-            <template slot-scope="scope">
-              {{JSON.parse(scope.row.jsonInfo).sku}}
-            </template>
-          </el-table-column>
-          <el-table-column label="数量" width="180" align="center">
-            <template slot-scope="scope">
-                {{scope.row.num}}
-            </template>
-          </el-table-column>
-          <el-table-column label="小计"  align="center">
-            <template slot-scope="scope">
-              ¥{{scope.row.num*JSON.parse(scope.row.jsonInfo).price}}
-            </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-table style="margin-top: 20px;width: 100%"
-                  ref="orderHistoryTable"
-                  :data="logs" border>
-          <el-table-column label="操作时间"  width="160" align="center">
-            <template slot-scope="scope">
-              {{scope.row.changeTime}}
-            </template>
-          </el-table-column>
-          <el-table-column label="备注" align="center">
-            <template slot-scope="scope">
-              {{scope.row.changeMessage}}
-            </template>
-          </el-table-column>
-          <el-table-column label="操作员" align="center">
-            <template slot-scope="scope">
-              {{scope.row.operator}}
-            </template>
-          </el-table-column>
-        </el-table>
-      </el-card>
-
-    </div>
-    <el-dialog :title="audit.title" :visible.sync="audit.open" width="800px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-        <el-form-item label="退款金额" prop="refundAmount"  >
-          <el-input-number v-model="form.refundAmount" :min="0"  />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitAuditForm">确 定</el-button>
-      </div>
-    </el-dialog>
-    <el-drawer
-    :append-to-body="true"
-     size="75%"
-      :title="show.title" :visible.sync="show.open"
-      >
-      <product-order  ref="productOrder" />
-    </el-drawer>
-    <el-dialog :title="add.title" :visible.sync="add.open" width="500px" append-to-body>
-
-      <div slot="footer" class="dialog-footer">
-        <el-form ref="addForm" :model="addForm" :rules="addRules" label-width="100px">
-          <el-form-item label="id" prop="id" v-if="false">
-            <el-input v-model="addForm.id" placeholder="请输入"  />
-          </el-form-item>
-          <el-form-item label="快递公司" prop="deliveryName">
-            <el-input v-model="addForm.deliveryName" placeholder="请输入"  />
-          </el-form-item>
-          <el-form-item label="运单号" prop="deliverySn">
-            <el-input v-model="addForm.deliverySn" placeholder="请输入"  />
-          </el-form-item>
-        </el-form>
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel1">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import {getStoreAfterSales,cancel,refund,audit1,audit2,updateStoreAfterSales} from "@/api/store/storeAfterSales";
-
-import productOrder from "./productOrder";
-export default {
-  components: { productOrder },
-  name: "order",
-  data() {
-    return {
-      show:{
-        open:false,
-        title:"订单详情"
-      },
-      audit:{
-          title:"财务审核",
-          open:false,
-      },
-      add:{
-        open:false,
-        title:"添加物流"
-      },
-      addForm:{
-        id:null,
-        deliveryName:null,
-        deliverySn:null
-      },
-      addRules:{
-        deliveryName: [
-          { required: true, message: "物流名称不能为空", trigger: "blur" }
-        ],
-        deliverySn: [
-          { required: true, message: "物流单号不能为空", trigger: "blur" }
-        ],
-      },
-      order:null,
-      user:null,
-      serviceTypeOptions:[],
-      salesStatusOptions:[],
-      statusOptions:[],
-      afterSales:null,
-      items:[],
-      logs:[],
-      form:{
-        refundAmount:0,
-      },
-      rules:{
-        status: [
-          { required: true, message: "状态不能为空", trigger: "blur" }
-        ],
-        refundAmount: [
-          { required: true, message: "退款金额不能为空", trigger: "blur" }
-        ],
-      }
-
-    };
-  },
-  created() {
-    this.getDicts("store_after_sales_sales_status").then((response) => {
-        this.salesStatusOptions = response.data;
-    });
-    this.getDicts("store_after_sales_status").then((response) => {
-        this.statusOptions = response.data;
-    });
-     this.getDicts("store_after_sales_service_type").then((response) => {
-        this.serviceTypeOptions = response.data;
-    });
-  },
-  methods: {
-    submitForm() {
-      var id=this.afterSales.id;
-      this.addForm.id = id;
-      updateStoreAfterSales(this.addForm).then(response => {
-              if (response.code === 200) {
-                this.msgSuccess("编辑成功");
-                this.add.open = false;
-                this.getStoreAfterSales(id);
-              }
-            });
-    },
-    cancel1(){
-      this.add.open = false;
-    },
-    addDelivery(){
-      this.add.open = true;
-      this.addForm.deliveryName = this.afterSales.deliveryName;
-      this.addForm.deliverySn = this.afterSales.deliverySn;
-    },
-    showOrder(){
-      this.show.open=true;
-      const orderId = this.order.id ;
-      setTimeout(() => {
-        this.$refs.productOrder.getOrder(orderId);
-      }, 500);
-    },
-    handleAudit1(){
-      var id=this.afterSales.id;
-      this.$confirm('确定审请通过?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={salesId:id}
-          return audit1(data);
-        }).then(() => {
-          this.getStoreAfterSales(id);
-          this.msgSuccess("操作成功");
-        }).catch(function() {});
-
-    },
-    handleAudit2(){
-      var id=this.afterSales.id;
-      this.$confirm('确定审请通过?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={salesId:id}
-          return audit2(data);
-        }).then(() => {
-          this.getStoreAfterSales(id);
-          this.msgSuccess("操作成功");
-        }).catch(function() {});
-
-    },
-    handleRefund(){
-        this.audit.open=true;
-        this.form.salesId=this.afterSales.id;
-        this.form.refundAmount=this.afterSales.refundAmount;
-    },
-    submitAuditForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          refund(this.form).then(response => {
-              if (response.code === 200) {
-                this.audit.open = false;
-                this.getStoreAfterSales(this.afterSales.id);
-                this.msgSuccess("操作成功");
-              }
-            });
-        }
-      });
-    },
-    cancel(){
-      var id=this.afterSales.id;
-      this.$prompt('是否确定取消订单?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-      }).then(({ value }) => {
-        var data={salesId:id,remark:value};
-        return cancel(data);
-      }).then(() => {
-        this.getStoreAfterSales(id);
-        this.msgSuccess("操作成功");
-      }).catch(() => {
-
-      });
-    },
-    getStoreAfterSales(id){
-        getStoreAfterSales(id).then(response => {
-            this.afterSales = response.afterSales;
-            this.logs = response.logs;
-            this.items = response.items;
-            this.user=response.user;
-            this.order=response.order;
-        });
-     }
-  }
-};
-</script>
-<style scoped>
-.order-content{
-  margin: 10px;
-}
-
-.operate-container {
-  background: #F2F6FC;
-  height: 60px;
-  margin: -20px -20px 0;
-  line-height: 60px;
-}
-
-.operate-button-container {
-  float: right;
-  margin-right: 20px
-}
-
-</style>

+ 0 - 114
src/api/hisStore/components/productAttrValueSelect.vue

@@ -1,114 +0,0 @@
-<template>
-  <div class="product-select" >
-    <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
-      <el-form-item label="商品名称" prop="productName">
-        <el-input
-          style="width:200px"
-          v-model="queryParams.productName"
-          placeholder="请输入商品名称"
-          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-form-item>
-    </el-form>
-    <el-table border v-loading="loading" :data="list">
-      <el-table-column label="商品编号" align="center" prop="barCode" />
-      <el-table-column label="商品图片" align="center" width="100">
-        <template slot-scope="scope">
-          <el-popover
-            placement="right"
-            title=""
-            trigger="hover"
-          >
-            <img slot="reference" :src="scope.row.image" width="80">
-            <img :src="scope.row.image" style="max-width: 80px;">
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column label="商品名称" show-overflow-tooltip align="center" prop="productName" />
-      <el-table-column label="商品规格" align="center" prop="sku" />
-      <el-table-column label="库存" align="center" prop="stock" />
-      <el-table-column label="单价" align="center" prop="price" />
-      <el-table-column label="操作" align="center" width="100px" >
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            @click="handleSelect(scope.row)"
-          >选择</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <pagination
-      style="padding-bottom:10px;"
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-  </div>
-</template>
-
-<script>
-import { getStoreProductAttrValueList } from "@/api/store/storeProduct";
-export default {
-  name: "selectProduct",
-  props: {
-    companyId:{
-      type: Number,
-      default: null
-    }
-  },
-  data() {
-    return {
-      loading: true,
-      list:[],
-      total: 0,
-      queryParams: {
-        productName:"",
-        pageNum: 1,
-        pageSize: 10,
-        isPackage:0,
-        companyId: this.companyId
-      }
-    };
-  },
-  created() {
-     this.getList();
-  },
-  methods: {
-    getData(isPackage){
-      this.queryParams.isPackage=isPackage;
-      this.getList();
-
-    },
-    handleSelect(row){
-      this.$emit('selectProduct',row);
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    getList(){
-      this.loading = true;
-      getStoreProductAttrValueList(this.queryParams).then(response => {
-        this.list = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    }
-  }
-};
-</script>
-<style scoped>
-
-.product-select{
-  padding-bottom: 15px;
-}
-</style>

+ 0 - 860
src/api/hisStore/components/productOrder.vue

@@ -1,860 +0,0 @@
-<template>
-  <div class="order-content">
-      <div class="order-status" v-if="order!=null" >
-          <el-steps  :active="order.status==3?order.status+1:order.status" align-center>
-            <el-step title="待支付"></el-step>
-            <el-step title="待发货"></el-step>
-            <el-step title="待收货"></el-step>
-            <el-step title="交易完成"></el-step>
-          </el-steps>
-      </div>
-      <div>
-      <el-card shadow="never" style="margin-top: 15px">
-      <div class="operate-container"  v-if="order!=null">
-        <span style="margin-left: 20px" class="color-danger">订单状态:
-           <el-tag prop="status" v-for="(item, index) in statusOptions"   v-if="order.status==item.dictValue">{{item.dictLabel}}</el-tag>
-        </span>
-        <div class="operate-button-container" >
-          <el-button size="mini" @click="editOrder()"  v-hasPermi="['store:storeOrder:edit']" >修改订单</el-button>
-        </div>
-        <div class="operate-button-container"  v-hasPermi="['store:storeOrder:finishOrder']" v-if="order.status===2">
-          <el-button size="mini" @click="finishOrder()" >确认收货</el-button>
-        </div>
-        <div class="operate-button-container" v-if="order.status==1||order.status==2"  v-hasPermi="['store:storeOrder:refundOrderMoney']"  >
-          <el-button size="mini" @click="refundOrderMoney()" >退款</el-button>
-        </div>
-        <div class="operate-button-container"  v-hasPermi="['store:storeOrder:express']"  >
-          <el-button size="mini" @click="showExpress()" >查看物流</el-button>
-        </div>
-        <div class="operate-button-container" v-if="order.tuiMoneyStatus==0"  v-hasPermi="['store:storeOrder:editTuiMoney']"  >
-          <el-button size="mini" @click="editTuiMoney1()" >解冻</el-button>
-        </div>
-        <div class="operate-button-container" v-if="order.tuiMoneyStatus==1"  v-hasPermi="['store:storeOrder:editTuiMoney']"  >
-          <el-button size="mini" @click="editTuiMoney2()" >冻结</el-button>
-        </div>
-
-        <div class="operate-button-container" v-if="order.status==3&&order.tuiMoneyStatus==null"  v-hasPermi="['store:storeOrder:addTuiMoney']"  >
-          <el-button size="mini" @click="addTuiMoney()" >分佣</el-button>
-        </div>
-
-<!--        <div class="operate-button-container" v-if="order.extendOrderId!=null"  v-hasPermi="['store:storeOrder:getEroOrder']"  >
-          <el-button size="mini" @click="showErpOrder()" >查看ERP订单信息</el-button>
-        </div>-->
-        <div class="operate-button-container" v-if="order.isPayRemain!=null&&order.isPayRemain==1"  v-hasPermi="['store:storeOrder:auditPayRemain']"  >
-          <el-button size="mini" @click="auditPayRemain()" >尾款审核</el-button>
-        </div>
-        <div class="operate-button-container" >
-          <el-button size="mini" @click="editDelivery()"  v-hasPermi="['store:storeOrder:editDeliveryId']" >修改物流</el-button>
-        </div>
-        <div class="operate-button-container" v-if="order.status >=1 && order.extendOrderId == null && order.deliveryId == null"  v-hasPermi="['store:storeOrder:createErpOrder']"  >
-          <el-button size="mini" @click="addErpOrder()" >创建ERP订单信息</el-button>
-        </div>
-        <!-- <div class="operate-button-container" v-show="order.status===2">
-          <el-button size="mini"  >去发货</el-button>
-          <el-button size="mini" >备注订单</el-button>
-        </div>
-        <div class="operate-button-container" v-show="order.status===4">
-          <el-button size="mini"  >订单跟踪</el-button>
-          <el-button size="mini"  disabled>备注订单</el-button>
-        </div> -->
-      </div>
-      <div style="margin: 20px 0px">
-        <span class="font-small">基本信息</span>
-      </div>
-      <el-descriptions :column="4" border  >
-            <el-descriptions-item label="订单编号"  >
-                <span v-if="order!=null">
-                  {{order.orderCode}}
-                </span>
-                <el-tag  v-for="(item, index) in createTypeOptions"    v-if="order!=null&&order.orderCreateType==item.dictValue">{{item.dictLabel}}
-                </el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item label="会员"  >
-                <span v-if="user!=null">
-                  {{user.nickname}}({{user.phone}})
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="支付方式"  >
-              <el-tag prop="payType" v-for="(item, index) in payTypeOptions"    v-if="order!=null&&order.payType==item.dictValue">{{item.dictLabel}}
-              </el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item label="订单类型"  >
-              <el-tag prop="orderType" v-for="(item, index) in orderTypeOptions"    v-if="order!=null&&order.orderType==item.dictValue">{{item.dictLabel}}</el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流公司编号"  >
-                <span v-if="order!=null">
-                  {{order.deliverySn}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流公司名称"  >
-                <span v-if="order!=null">
-                  {{order.deliveryName}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流单号"  >
-                <span v-if="order!=null">
-                  {{order.deliveryId}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流状态"  >
-                <span v-if="order!=null">
-                  <el-tag prop="deliveryId" v-for="(item, index) in deliveryStatusOptions"    v-if="order!=null&&order.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流跟踪状态"  >
-                <span v-if="order!=null">
-                  <el-tag prop="deliveryId" v-for="(item, index) in deliveryTypeOptions"    v-if="order!=null&&order.deliveryType==item.dictValue">{{item.dictLabel}}</el-tag>
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流结算费用"  >
-                <span v-if="order!=null&&order.deliveryPayMoney!=null ">
-                  {{order.deliveryPayMoney.toFixed(2) }}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="快递帐单日期"  >
-                <span v-if="order!=null ">
-                  {{order.deliveryTime }}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="快递结算日期"  >
-                <span v-if="order!=null ">
-                  {{order.deliveryPayTime }}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="推广佣金"  >
-                <span v-if="order!=null ">
-                  {{order.tuiMoney }}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="收货人"  >
-                <span v-if="order!=null ">
-                  {{order.realName }}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="手机号码"  >
-                <span v-if="order!=null ">
-                  {{order.userPhone }}
-                </span>
-                <el-button icon="el-icon-search" size="mini" @click="handlePhone()" style="margin-left: 20px;" circle v-hasPermi="['store:storeOrder:queryPhone']"></el-button>
-            </el-descriptions-item>
-            <el-descriptions-item label="收货地址"  >
-              <el-popover
-                v-if="order!=null"
-                placement="top-start"
-                title="收货地址"
-                width="300"
-                trigger="hover"
-                :content="order.userAddress">
-                <span slot="reference">{{order.userAddress}}</span>
-                <el-button icon="el-icon-search" size="mini" @click="handleAddress()" style="margin-left: 20px;" circle v-hasPermi="['store:storeOrder:queryAddress']"></el-button>
-              </el-popover>
-            </el-descriptions-item>
-            <el-descriptions-item label="档期归属"  >
-              <el-tag prop="scheduleId" v-for="(item, index) in scheduleOptions"    v-if="order!=null&&order.scheduleId==item.id">{{item.name}}
-              </el-tag>
-            </el-descriptions-item>
-            <el-descriptions-item label="用户备注"  >
-                <span v-if="order!=null">
-                  {{order.mark}}
-                </span>
-            </el-descriptions-item>
-      </el-descriptions>
-      <div style="margin: 20px 0px"  v-if="order!=null">
-        <span class="font-small">
-          凭证信息
-        </span>
-      </div>
-      <el-image
-          v-if="certificates != null"
-          :src="certificates"
-          :preview-src-list="[certificates]"
-          :style="{ width: '100px', height: '100px' }"
-          @click.native="showImageDialog"
-        ></el-image>
-        <el-dialog :visible.sync="dialogVisibleImage" width="10%">
-          <img :src="certificates" style="width: 100%" alt="">
-        </el-dialog>
-      <div style="margin-top: 20px">
-        <span class="font-small">商品信息</span>
-      </div>
-      <el-table
-        border
-        v-if="items!=null"
-        :data="items"
-        size="small"
-        style="width: 100%;margin-top: 20px" >
-        <el-table-column label="商品图片" width="150" align="center">
-          <template slot-scope="scope">
-            <img :src="JSON.parse(scope.row.jsonInfo).image" style="height: 80px">
-          </template>
-        </el-table-column>
-        <el-table-column label="商品编码" width="300" align="center">
-          <template slot-scope="scope">
-            <p>{{JSON.parse(scope.row.jsonInfo).barCode}}</p>
-          </template>
-        </el-table-column>
-        <el-table-column label="商品组合编码" width="300" align="center">
-          <template slot-scope="scope">
-            <p>{{JSON.parse(scope.row.jsonInfo).groupBarCode}}</p>
-          </template>
-        </el-table-column>
-        <el-table-column label="商品名称" width="300" align="center">
-          <template slot-scope="scope">
-            <p>{{JSON.parse(scope.row.jsonInfo).productName}}</p>
-          </template>
-        </el-table-column>
-        <el-table-column label="单价" width="240" align="center">
-          <template slot-scope="scope">
-            <p>¥{{JSON.parse(scope.row.jsonInfo).price.toFixed(2)}}</p>
-          </template>
-        </el-table-column>
-        <el-table-column label="规格" width="240" align="center">
-          <template slot-scope="scope">
-            {{JSON.parse(scope.row.jsonInfo).sku}}
-          </template>
-        </el-table-column>
-        <el-table-column label="数量" width="180" align="center">
-          <template slot-scope="scope">
-            {{scope.row.num}}
-          </template>
-        </el-table-column>
-        <el-table-column label="处方药" width="240" align="center">
-          <template slot-scope="scope">
-            {{scope.row.isPrescribe!=null&&scope.row.isPrescribe==1?'是':'否'}}
-          </template>
-        </el-table-column>
-        <el-table-column label="小计"  align="center">
-          <template slot-scope="scope" >
-            ¥{{scope.row.num*JSON.parse(scope.row.jsonInfo).price.toFixed(2)}}
-          </template>
-        </el-table-column>
-      </el-table>
-      <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   :column="4" border  >
-          <el-descriptions-item label="商品合计"  >
-              <span v-if="order!=null">
-                ¥{{order.totalPrice.toFixed(2)}}
-              </span>
-          </el-descriptions-item>
-          <el-descriptions-item label="应付金额"  >
-              <span v-if="order!=null">
-                ¥{{order.payPrice.toFixed(2)}}
-              </span>
-          </el-descriptions-item>
-          <el-descriptions-item label="运费"  >
-              <span v-if="order!=null">
-                ¥{{order.payPostage.toFixed(2)}}
-              </span>
-          </el-descriptions-item>
-          <el-descriptions-item label="优惠券"  >
-              <span v-if="order!=null">
-                ¥{{order.couponPrice.toFixed(2)}}
-              </span>
-          </el-descriptions-item>
-          <el-descriptions-item label="积分抵扣"  >
-              <span v-if="order!=null">
-                ¥{{order.deductionPrice.toFixed(2)}}
-              </span>
-          </el-descriptions-item>
-          <el-descriptions-item label="实付金额"  >
-              <span v-if="order!=null">
-                ¥{{order.payMoney.toFixed(2)}}
-              </span>
-          </el-descriptions-item>
-          <el-descriptions-item label="代收金额"  >
-              <span v-if="order!=null">
-                ¥{{order.payDelivery.toFixed(2)}}
-              </span>
-          </el-descriptions-item>
-      </el-descriptions>
-
-      <div style="margin-top: 20px">
-        <span class="font-small">支付信息</span>
-      </div>
-      <el-table
-        border
-        :data="payments"
-        size="small"
-        style="width: 100%;margin-top: 20px" >
-          <el-table-column label="支付单号" align="center" prop="payCode" width="120px" />
-          <el-table-column label="支付金额" align="center" prop="payMoney" />
-          <el-table-column label="类型" align="center" prop="payTypeCode" />
-          <el-table-column label="交易单号" align="center" prop="bankTransactionId" />
-          <el-table-column label="银行单号" align="center" prop="bankSerialNo" />
-          <el-table-column label="创建时间" align="center" prop="createTime" />
-          <el-table-column label="支付时间" align="center" prop="payTime" />
-      </el-table>
-
-
-      <div style="margin-top: 20px">
-        <span class="font-small">操作信息</span>
-      </div>
-      <el-table style="margin-top: 20px;width: 100%"
-                ref="orderHistoryTable"
-                :data="logs" border>
-        <el-table-column label="操作时间"  width="160" align="center">
-          <template slot-scope="scope">
-            {{scope.row.changeTime}}
-          </template>
-        </el-table-column>
-        <el-table-column label="备注" align="center">
-          <template slot-scope="scope">
-            {{scope.row.changeMessage}}
-          </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-table
-        border
-        :data="tuiMoneyLogs"
-        size="small"
-                style="width: 100%;margin-top: 20px" >
-          <el-table-column label="公司名称" align="center" prop="companyName" width="120px" />
-          <el-table-column label="金额" align="center" prop="money" />
-          <el-table-column label="余额" align="center" prop="balance" />
-          <el-table-column label="创建时间" align="center" prop="createTime" />
-          <el-table-column label="备注" align="center" prop="remark" />
-      </el-table>
-
-        <div style="margin-top: 20px">
-          <span class="font-small">审批信息</span>
-        </div>
-        <el-table style="margin-top: 20px;width: 100%"
-                  :data="auditLogs" border>
-          <el-table-column label="操作时间"  width="160" align="center">
-            <template slot-scope="scope">
-              {{scope.row.createTime}}
-            </template>
-          </el-table-column>
-          <el-table-column label="备注" align="center">
-            <template slot-scope="scope">
-              {{scope.row.content}}
-            </template>
-          </el-table-column>
-        </el-table>
-      </el-card>
-    </div>
-
-    <el-dialog :title="edit.title" :visible.sync="edit.open" width="600px" append-to-body>
-      <el-form ref="editForm" :model="editForm" :rules="editRules" label-width="100px">
-        <el-form-item label="订单类型" prop="orderType"  >
-            <el-select style="width: 200px" v-model="editForm.orderType" placeholder="请选择订单类型" clearable size="small" >
-              <el-option
-                      v-for="item in orderTypeOptions"
-                      :key="item.dictValue"
-                      :label="item.dictLabel"
-                      :value="item.dictValue"
-                    />
-            </el-select>
-        </el-form-item>
-       <el-form-item label="状态" prop="status" >
-           <el-select style="width:220px" v-model="editForm.status" placeholder="请选择状态" clearable size="small">
-            <el-option key="0"  label="待支付" value="0" />
-            <el-option key="1"  label="待发货" value="1" />
-             <el-option key="2"  label="待收货" value="2" />
-             <el-option key="3"  label="交易成功" value="3" />
-             <el-option key="-1"  label="退款中" value="-1" />
-             <el-option key="-2"  label="已退款" value="-2" />
-             <el-option key="-3"  label="已取消" value="-3" />
-           </el-select>
-         </el-form-item>
-         <el-form-item label="档期归属" prop="scheduleId"  >
-            <el-select filterable style="width: 200px" v-model="editForm.scheduleId" placeholder="请选择档期" clearable size="small" >
-              <el-option
-                      v-for="item in scheduleOptions"
-                      :key="item.id"
-                      :label="item.name"
-                      :value="item.id"
-                    />
-            </el-select>
-        </el-form-item>
-         <el-form-item label="详情地址" prop="userAddress"  >
-          <el-input v-model="editForm.userAddress" placeholder="请输入" />
-        </el-form-item>
-        <!-- <el-form-item label="erp单号" prop="extendOrderId"  >
-          <el-input v-model="editForm.extendOrderId" placeholder="请输入" />
-        </el-form-item> -->
-        <el-form-item label="备注" prop="mark"  >
-          <el-input v-model="editForm.mark" placeholder="请输入备注" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitEditForm">确 定</el-button>
-      </div>
-    </el-dialog>
-
-    <el-dialog :title="editDy.title" :visible.sync="editDy.open" width="600px" append-to-body>
-      <el-form ref="editDyForm" :model="editDyForm" :rules="editDyRules" label-width="120px">
-      <div  v-hasPermi="['store:storeOrder:updateErpOrder']"  style="margin-bottom: 20px;" >
-        <el-button size="mini" @click="updateErpOrder" >同步物流单号信息</el-button>
-      </div>
-        <el-form-item label="物流公司" prop="deliverySn" >
-           <el-select style="width:220px" v-model="editDyForm.deliverySn" placeholder="请选择" clearable size="small">
-            <el-option key="SF"  label="顺丰" value="SF" />
-            <el-option key="EMS"  label="邮政" value="EMS" />
-             <el-option key="ZTO"  label="中通" value="ZTO" />
-             <el-option key="JD"  label="京东" value="JD" />
-             <el-option key="DBL"  label="德邦" value="DBL" />
-           </el-select>
-         </el-form-item>
-        <el-form-item label="物流单号" prop="deliveryId"  >
-          <el-input v-model="editDyForm.deliveryId" placeholder="请输入物流单号" />
-        </el-form-item>
-
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitEditDyForm">确 定</el-button>
-        <el-button @click="editDy.open = false">取 消</el-button>
-      </div>
-    </el-dialog>
-
-    <el-dialog :title="expressDialog.title" :visible.sync="expressDialog.open" width="600px" append-to-body>
-      <div  v-hasPermi="['store:storeOrder:syncExpress']"  >
-        <el-button size="mini" @click="syncExpress()" >同步快递鸟物流状态</el-button>
-      </div>
-      <el-table style="margin-top: 20px;width: 100%"
-                ref="orderHistoryTable"
-                :data="traces" border>
-        <el-table-column label="操作时间"  width="160" align="center">
-          <template slot-scope="scope">
-            {{scope.row.AcceptTime}}
-          </template>
-        </el-table-column>
-         <el-table-column label="位置" align="center">
-          <template slot-scope="scope">
-            {{scope.row.Location}}
-          </template>
-        </el-table-column>
-        <el-table-column label="描述" align="center">
-          <template slot-scope="scope">
-            {{scope.row.AcceptStation}}
-          </template>
-        </el-table-column>
-      </el-table>
-    </el-dialog>
-
-    <el-dialog :title="erpDialog.title" :visible.sync="erpDialog.open" width="600px" append-to-body>
-      <div v-if="order!=null&&order.extendOrderId!=null&&order.status==1"  v-hasPermi="['store:storeOrder:updateExpress']"  >
-        <el-button size="mini" @click="updateExpress()" >同步物流发货</el-button>
-      </div>
-      <div class="table-layout"  v-if="erpOrder!=null">
-        <el-row>
-          <el-col :span="6" class="table-cell-title">订单编号</el-col>
-          <el-col :span="6" class="table-cell-title">是否代收</el-col>
-          <el-col :span="6" class="table-cell-title">快递编号</el-col>
-          <el-col :span="6" class="table-cell-title">快递名称</el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6" class="table-cell">
-            {{erpOrder.code}}
-          </el-col>
-          <el-col :span="6" class="table-cell">
-            {{erpOrder.cod?'是':'否'}}
-          </el-col>
-          <el-col :span="6" class="table-cell">
-            {{erpOrder.express_code}}
-          </el-col>
-          <el-col :span="6" class="table-cell">
-            {{erpOrder.express_name}}
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6" class="table-cell-title">收货人</el-col>
-          <el-col :span="6" class="table-cell-title">电话</el-col>
-          <el-col :span="6" class="table-cell-title">地址</el-col>
-          <el-col :span="6" class="table-cell-title">运单号</el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6" class="table-cell">
-            {{erpOrder.receiver_name}}
-          </el-col>
-          <el-col :span="6" class="table-cell">
-            {{erpOrder.receiver_mobile}}
-          </el-col>
-          <el-col :span="6" class="table-cell">
-            {{erpOrder.receiver_address}}
-          </el-col>
-          <el-col :span="6" class="table-cell">
-            {{erpOrder.deliverys!=null&&erpOrder.deliverys.length>0?erpOrder.deliverys[0].mail_no:''}}
-          </el-col>
-
-        </el-row>
-      </div>
-    </el-dialog>
-
-  </div>
-</template>
-
-<script>
-import {auditPayRemain,addTuiMoney,syncExpress,updateExpress,getEroOrder,refundOrderMoney, editTuiMoney,getExpress,finishOrder,listStoreOrder, getStoreOrder, delStoreOrder, addStoreOrder, updateStoreOrder, exportStoreOrder,updateDeliveryId, createErpOrder,updateErp,getStoreOrderAddress,getStoreOrderPhone} from "@/api/store/storeOrder";
-import { getTcmScheduleList } from "@/api/company/schedule";
-export default {
-  name: "order",
-  data() {
-    return {
-      dialogVisibleImage: false,
-      createTypeOptions:[],
-      deliveryStatusOptions:[],
-      deliveryTypeOptions:[],
-      scheduleOptions:[],
-      schedules:[],
-      orderId:null,
-      erpDialog:{
-        title:"ERP订单信息",
-        open:false,
-      },
-      expressDialog:{
-        title:"物流信息",
-        open:false,
-      },
-      edit:{
-        title:"",
-        open:false,
-      },
-      editDy:{
-        title:"修改物流单号",
-        open:false,
-      },
-      editDyForm:{
-        deliverySn:null,
-        deliveryId:null,
-      },
-      editForm:{
-        orderType:null,
-        status:null,
-        userAddress:null,
-        // extendOrderId:null,
-        scheduleId:null,
-        mark:"",
-      },
-
-      editDyRules:{
-        deliverySn: [
-          { required: true, message: "物流公司不能为空", trigger: "blur" }
-        ],
-        deliveryId: [
-          { required: true, message: "物流单号不能为空", trigger: "blur" }
-        ],
-      },
-      editRules:{
-        userAddress: [
-          { required: true, message: "收货地址不能为空", trigger: "blur" }
-        ],
-
-      },
-      orderTypeOptions:[],
-      payTypeOptions:[],
-      statusOptions:[],
-      certificates:null,
-      orderStatus:null,
-      order:null,
-      user:{},
-      logs:[],
-      items:[],
-      express:null,
-      traces:[],
-      payments:[],
-      tuiMoneyLogs:[],
-      erpOrder:null,
-      auditLogs: [],
-    };
-  },
-  created() {
-    this.getDicts("store_order_delivery_status").then((response) => {
-      this.deliveryStatusOptions = response.data;
-    });
-    this.getDicts("store_order_delivery_type").then((response) => {
-      this.deliveryTypeOptions = response.data;
-    });
-
-    this.getDicts("store_order_type").then((response) => {
-      this.orderTypeOptions = response.data;
-    });
-    this.getDicts("store_order_status").then((response) => {
-      this.statusOptions = response.data;
-    });
-    this.getDicts("store_pay_type").then((response) => {
-      this.payTypeOptions = response.data;
-    });
-    this.getDicts("store_order_create_type").then((response) => {
-      this.createTypeOptions = response.data;
-    });
-    getTcmScheduleList().then(response => {
-      this.scheduleOptions = response.data;
-    });
-  },
-  methods: {
-    handleAddress(){
-        const id = this.order.id;
-        getStoreOrderAddress(id).then(response =>{
-            this.order.userAddress = response.address;
-        })
-      },
-      handlePhone(){
-        const id = this.order.id;
-        getStoreOrderPhone(id).then(response =>{
-            this.order.userPhone = response.userPhone;
-        })
-      },
-    showImageDialog() {
-      this.dialogVisible = true;
-    },
-    syncExpress(){
-      var that=this;
-        this.$confirm('确定同步物流状态吗', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return syncExpress(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    updateErpOrder(){
-      var that=this;
-        this.$confirm('确定同步物流单号信息吗', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return updateErp(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-          this.editDy.open = false
-        }).catch(function() {});
-    },
-    updateExpress(){
-      var that=this;
-        this.$confirm('确定同步物流信息吗,同步后将自动发货', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return updateExpress(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    showErpOrder(){
-      this.erpDialog.open=true;
-      var data={extendOrderId:this.order.extendOrderId};
-      getEroOrder(data).then(response => {
-          this.erp = response.data;
-          if(response.data.orders!=null&&response.data.orders.length==1){
-            this.erpOrder=response.data.orders[0]
-          }
-          console.log(this.erpOrder)
-
-      });
-    },
-    showExpress(){
-      this.expressDialog.open=true;
-      getExpress(this.orderId).then(response => {
-          this.express = response.data;
-          if(this.express!=null&&this.express.Traces!=null){
-              this.traces=this.express.Traces
-          }
-
-      });
-
-    },
-    submitEditForm(){
-        this.$refs["editForm"].validate(valid => {
-        if (valid) {
-          updateStoreOrder(this.editForm).then(response => {
-            if (response.code === 200) {
-              this.msgSuccess("操作成功");
-              this.edit.open = false;
-              this.getOrder(this.order.id);
-            }
-          });
-
-        }
-      });
-    },
-    submitEditDyForm(){
-        this.$refs["editDyForm"].validate(valid => {
-        if (valid) {
-          updateDeliveryId(this.editDyForm).then(response => {
-            if (response.code === 200) {
-              this.msgSuccess("操作成功");
-              this.editDy.open = false;
-              this.getOrder(this.order.id);
-            }
-          });
-
-        }
-      });
-    },
-    editTuiMoney1(){
-      var that=this;
-        this.$confirm('是否冻结此订单推广佣金吗?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return editTuiMoney(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    editTuiMoney2(){
-      var that=this;
-        this.$confirm('是否解冻此订单推广佣金吗?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return editTuiMoney(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    addTuiMoney(){
-      var that=this;
-        this.$confirm('确定手动分佣金吗?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return addTuiMoney(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    refundOrderMoney(){
-        var that=this;
-        this.$confirm('确认退款吗', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return refundOrderMoney(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    finishOrder(){
-        var that=this;
-        this.$confirm('是否确认客户已收货?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return finishOrder(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    auditPayRemain(){
-        var that=this;
-        this.$confirm('是否确认已收尾款?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderId:that.order.id}
-          return auditPayRemain(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    editOrder(){
-        this.edit.open=true;
-        this.editForm.id=this.order.id;
-        this.editForm.mark=this.order.mark
-        this.editForm.orderType=this.order.orderType.toString();
-        this.editForm.status = this.order.status.toString();
-        this.editForm.userAddress = this.order.userAddress.toString();
-        this.editForm.scheduleId = this.order.scheduleId;
-        // this.editForm.extendOrderId = this.order.extendOrderId.toString();
-
-    },
-    //推送管易按钮
-    addErpOrder(){
-        var that=this;
-        this.$confirm('是否确认推送erp?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          var data={orderCode:that.order.orderCode}
-          return createErpOrder(data);
-        }).then(() => {
-          this.msgSuccess("操作成功");
-          this.getOrder(this.order.id);
-        }).catch(function() {});
-    },
-    editDelivery(){
-      this.editDy.open = true;
-      this.editDyForm.id = this.order.id;
-      this.editDyForm.deliveryId = this.order.deliveryId;
-      this.editDyForm.deliverySn = this.order.deliverySn;
-    },
-    getOrder(orderId){
-        this.orderId=orderId;
-        this.certificates = null;
-        getStoreOrder(orderId).then(response => {
-            this.order = response.order;
-            if(response.order.certificates != null){
-              this.certificates = response.order.certificates;
-            }
-            if(response.order.status != null){
-              this.orderStatus = response.order.status;
-            }
-            this.user = response.user;
-            this.logs = response.logs;
-            this.items = response.items;
-            this.payments=response.payments;
-            this.tuiMoneyLogs=response.tuiMoneyLogs;
-            this.auditLogs = response.auditLogs;
-        });
-     }
-  }
-};
-</script>
-<style scoped>
-.order-content{
-  margin: 10px;
-
-}
-
-.operate-container {
-  background: #F2F6FC;
-  height: 60px;
-  margin: -20px -20px 0;
-  line-height: 60px;
-}
-
-.operate-button-container {
-  float: right;
-  margin-right: 20px
-}
-</style>

+ 0 - 102
src/api/hisStore/components/productSelect.vue

@@ -1,102 +0,0 @@
-<template>
-  <div class="product-select" >
-    <el-form   :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
-      <el-form-item label="商品名称" prop="productName">
-        <el-input
-          style="width:200px"
-          v-model="queryParams.productName"
-          placeholder="请输入商品名称"
-          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-form-item>
-    </el-form>
-    <el-table border v-loading="loading" :data="list">
-      <el-table-column label="商品ID" align="center" prop="productId" />
-      <el-table-column label="商品图片" align="center" width="100">
-        <template slot-scope="scope">
-          <el-popover
-            placement="right"
-            title=""
-            trigger="hover"
-          >
-            <img slot="reference" :src="scope.row.image" width="80">
-            <img :src="scope.row.image" style="max-width: 80px;">
-          </el-popover>
-        </template>
-      </el-table-column>
-      <el-table-column label="商品名称" show-overflow-tooltip align="center" prop="productName" />
-      <el-table-column label="单价" align="center" prop="price" />
-      <el-table-column label="操作" align="center" width="100px" >
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            @click="handleSelect(scope.row)"
-          >选择</el-button>
-        </template>
-      </el-table-column>
-    </el-table> 
-    <pagination
-      style="padding-bottom:10px;"
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-  </div>
-</template>
-
-<script>
-import { listStoreProduct } from "@/api/store/storeProduct";
-export default {
-  name: "selectProduct",
-  data() {
-    return {
-      loading: true,
-      list:[],
-      total: 0,
-      queryParams: {
-        productName:"",
-        pageNum: 1,
-        pageSize: 10,
-        isPackage:0,
-      }
-    };
-  },
-  created() {
-     this.getList();
-  },
-  methods: {
-    getData(){
-      this.getList();
-    },
-    handleSelect(row){
-      this.$emit('selectProduct',row);
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    getList(){
-      this.loading = true;
-      listStoreProduct(this.queryParams).then(response => {
-        this.list = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    }
-  }
-};
-</script>
-<style scoped>
-.product-select{
-  padding-bottom: 15px;
-}
-</style>

+ 0 - 111
src/api/hisStore/components/testReportDetails.vue

@@ -1,111 +0,0 @@
-<template>
-    <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-      <div style="padding: 20px; background-color: #fff;">
-         测试报告详情
-      </div>
-  <div class="contentx" v-if="item!=null">
-        <div class="desct"> 测试报告信息</div>
-        <el-descriptions title="" :column="3" border>
-          <el-descriptions-item label="报告编号"><span v-if="item!=null">{{item.reportSn}}</span></el-descriptions-item>
-          <el-descriptions-item label="用户昵称"><span v-if="item!=null">{{item.nickName}}</span></el-descriptions-item>
-          <el-descriptions-item label="用户电话"><span v-if="item!=null">{{item.phone}}</span></el-descriptions-item>
-          <el-descriptions-item label="诊断结果"><span v-if="item!=null">{{item.testResult}}</span></el-descriptions-item>
-          <el-descriptions-item label="分数"><span v-if="item!=null">{{item.score}}</span></el-descriptions-item>
-          <el-descriptions-item label="模板"><span v-if="item!=null">{{item.name}}</span></el-descriptions-item>
-          <el-descriptions-item label="备注"><span v-if="item!=null">{{item.remark}}</span></el-descriptions-item>
-          <el-descriptions-item label="创建时间"><span v-if="item!=null">{{item.createTime}}</span></el-descriptions-item>
-        </el-descriptions>
-  </div>
-  <div class="contentx" v-if="patientJson!=null">
-        <div class="desct" > 患者信息</div>
-        <el-descriptions title="" :column="3" border >
-            <el-descriptions-item label="患者名称"><span >{{patientJson.name}}</span></el-descriptions-item>
-            <el-descriptions-item label="患者性别">
-              <dict-tag :options="sexOptions" :value="patientJson.sex"/>
-        </el-descriptions-item>
-            <el-descriptions-item label="患者年龄"><span >{{patientJson.age}}</span></el-descriptions-item>
-        </el-descriptions>
-  </div>
-  <div class="contentx" v-if="conditioningPlanJson!=null">
-        <div class="desct"> 调理方案</div>
-        <el-descriptions title="" :column="1" border >
-            <el-descriptions-item :label="form.name" v-for=" form in conditioningPlanJson" ><span >{{form.value}}</span></el-descriptions-item>
-        </el-descriptions>
-  </div>
-  <div class="contentx" v-if="formJson!=null">
-        <div class="desct"> 表单信息</div>
-        <el-descriptions title="" :column="3" border >
-            <el-descriptions-item :label="form.title" v-for=" form in formJson" ><span >{{form.option}}</span></el-descriptions-item>
-        </el-descriptions>
-  </div>
-</div>
-</template>
-
-<script>
-import { listTestReport, getTestReport, delTestReport, addTestReport, updateTestReport, exportTestReport } from "@/api/store/testReport";
-  export default {
-    name: "testReport",
-    props:["data"],
-    data() {
-      return {
-        item:null,
-        formJson:null,
-        conditioningPlanJson:null,
-        patientJson:null,
-        sexOptions:[],
-      }
-    },
-    created() {
-      this.getDicts("sys_patient_sex").then(response => {
-         this.sexOptions = response.data;
-       });
-    },
-    methods: {
-      getDetails(orderId) {
-        this.item=null;
-        this.conditioningPlanJson=null;
-        this.formJson=null;
-        this.patientJson=null;
-        getTestReport(orderId).then(response => {
-            this.item = response.data;
-            if(response.data){
-              if(response.data.formJson!=null){
-                this.formJson=JSON.parse(response.data.formJson);
-                console.log(this.formJson)
-              }
-              if(response.data.conditioningPlanJson!=null){
-                this.conditioningPlanJson=JSON.parse(response.data.conditioningPlanJson)
-              }
-              if(response.data.patientJson!=null){
-                this.patientJson=JSON.parse(response.data.patientJson)
-              }
-            }
-        });
-      },
-    }
-  }
-</script>
-<style>
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 500px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-
-</style>

+ 0 - 108
src/api/hisStore/components/testTempDetails.vue

@@ -1,108 +0,0 @@
-<template>
-
-  <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-    <div style="padding: 20px; background-color: #fff;">
-      测一测模板详情
-    </div>
-
-<div class="content" v-if="item!=null">
-    <div class="desct">
-      测一测模板信息
-    </div>
-    <el-descriptions title="" :column="3" border>
-    <el-descriptions-item label="名称" >
-        <span v-if="item!=null">{{item.name}}</span>
-    </el-descriptions-item>
-    <el-descriptions-item label="模板编号" >
-        <span v-if="item!=null">{{item.tempCode}}</span>
-    </el-descriptions-item>
-    <el-descriptions-item label="状态" >
-         <dict-tag :options="statusOptions" :value="item.status"/>
-    </el-descriptions-item>
-
-    <el-descriptions-item label="创建时间" >
-        <span v-if="item!=null">{{item.createTime}}</span>
-    </el-descriptions-item>
-    <el-descriptions-item label="修改时间" >
-        <span v-if="item!=null">{{item.updateTime}}</span>
-    </el-descriptions-item>
-    </el-descriptions>
-  </div>
-<div class="content" v-for="mb in itemTypeJson">
-    <div class="desct">
-      {{mb.itemType}}
-    </div>
-    <el-table :data="mb.item" :cell-style="{ textAlign: 'center' }" :header-cell-style="{textAlign: 'center'}" border>
-      <el-table-column label="名称" prop="name" width="200px">
-        <template slot-scope="scope">
-          {{ scope.row.name }}
-        </template>
-      </el-table-column>
-      <el-table-column label="内容" prop="value" >
-        <template slot-scope="scope">
-          <div style="white-space: pre-wrap;">
-            {{ scope.row.value }}
-          </div>
-        </template>
-      </el-table-column>
-    </el-table>
-  </div>
-
-      </div>
-</template>
-
-<script>
-import { listTestTemp, getTestTemp, delTestTemp, addTestTemp, updateTestTemp, exportTestTemp } from "@/api/store/testTemp";
-  export default {
-    name: "testTempDetails",
-    props:["data"],
-    data() {
-      return {
-       // 状态字典
-       statusOptions: [],
-       itemTypeJson:[],
-        item:null,
-      }
-    },
-    created() {
-    this.getDicts("sys_company_status").then(response => {
-      this.statusOptions = response.data;
-    });
-
-    },
-    methods: {
-      getDetails(orderId) {
-          this.item=null;
-          getTestTemp(orderId).then(response => {
-              this.item = response.data;
-              this.itemTypeJson=  JSON.parse(this.item.itemTypeJson)
-          });
-      },
-
-    }
-  }
-</script>
-<style>
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .content{
-      height: 100%;
-      background-color: #fff;
-     padding: 0px 20px 20px;
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-</style>
-
-

+ 0 - 116
src/api/hisStore/components/testTempItemDetails.vue

@@ -1,116 +0,0 @@
-<template>
-
-  <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-    <div style="padding: 20px; background-color: #fff;">
-      测一测模板项目详情
-    </div>
-
-<div class="content" v-if="item!=null">
-    <div class="desct">
-      测一测模板项目信息
-    </div>
-    <el-descriptions title="" :column="3" border>
-    <el-descriptions-item label="标题" >
-        <span v-if="item!=null">{{item.title}}</span>
-    </el-descriptions-item>
-    <el-descriptions-item label="模板名称" >
-        <span v-if="item!=null">{{name}}</span>
-    </el-descriptions-item>
-    <el-descriptions-item label="项目类型" >
-         <dict-tag :options="itemTypeOptions" :value="item.tempId"/>
-    </el-descriptions-item>
-    <el-descriptions-item label="排序" >
-        <span v-if="item!=null">{{item.sort}}</span>
-    </el-descriptions-item>
-    <el-descriptions-item label="创建时间" >
-        <span v-if="item!=null">{{item.createTime}}</span>
-    </el-descriptions-item>
-    <el-descriptions-item label="修改时间" >
-        <span v-if="item!=null">{{item.updateTime}}</span>
-    </el-descriptions-item>
-        </el-descriptions>
-            </div>
-            <div class="content" v-if="item!=null">
-<div class="desct">
-  详情
-</div>
-
-  <el-table :data="scoreJson" :cell-style="{ textAlign: 'center' }" :header-cell-style="{textAlign: 'center'}" border>
-    <el-table-column label="标题" prop="name" >
-      <template slot-scope="scope">
-        {{ scope.row.name }}
-      </template>
-    </el-table-column>
-    <el-table-column label="分值" prop="score" >
-      <template slot-scope="scope">
-        {{ scope.row.score }}
-      </template>
-    </el-table-column>
-  </el-table>
-
-
-      </div>
-
-      </div>
-</template>
-
-<script>
-import { listTestTempItem, getTestTempItem, delTestTempItem, addTestTempItem, updateTestTempItem, exportTestTempItem } from "@/api/store/testTempItem";
-import { getAllTestTemp } from "@/api/store/testTemp";
-  export default {
-    name: "patientdetails",
-    props:["data"],
-    data() {
-      return {
-       // 状态字典
-       itemTypeOptions: [],
-        item:null,
-        scoreJson:[],
-        TempList:[],
-        name:null,
-      }
-    },
-    created() {
-     this.getDicts("test_temp_item_type").then(response => {
-       this.itemTypeOptions = response.data;
-     });
-
-    },
-    methods: {
-
-      getDetails(orderId,name) {
-          this.name=name;
-          this.item=null;
-          getTestTempItem(orderId).then(response => {
-              this.item = response.data;
-              this.scoreJson=JSON.parse(response.data.scoreJson);
-          });
-      },
-
-    }
-  }
-</script>
-<style>
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .content{
-      height: 100%;
-      background-color: #fff;
-     padding: 0px 20px 20px;
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-</style>
-
-

+ 0 - 80
src/api/hisStore/components/vesselDetails.vue

@@ -1,80 +0,0 @@
-<template>
-    <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
-      <div style="padding: 20px; background-color: #fff;">
-         筋络详情
-      </div>
-<div class="contentx" v-if="item!=null">
-        <div class="desct"> 筋络信息</div>
-        <el-descriptions title="" :column="3" border>
-          <el-descriptions-item label="图片" >
-            <el-image
-                    style="width: 100px"
-                    :src="item.imgUrl"
-                    :preview-src-list="[item.imgUrl]">
-            </el-image>
-          </el-descriptions-item>
-          <el-descriptions-item label="请输入筋络穴位名称"><span v-if="item!=null">{{item.vesselName}}</span></el-descriptions-item>
-          <el-descriptions-item label="排序"><span v-if="item!=null">{{item.sort}}</span></el-descriptions-item>
-           <el-descriptions-item label="经络"><span v-if="item!=null">{{item.vessel}}</span></el-descriptions-item>
-          <el-descriptions-item label="部位"><span v-if="item!=null">{{item.region}}</span></el-descriptions-item>
-
-          <el-descriptions-item label="状态"><span v-if="item!=null"> <dict-tag :options="statusOptions" :value="item.status"/></span></el-descriptions-item>
-          <el-descriptions-item label="创建时间"><span v-if="item!=null">{{item.createTime}}</span></el-descriptions-item>
-          <el-descriptions-item label="描述"><span  v-if="item!=null" v-html="item.descs" ></span></el-descriptions-item>
-        </el-descriptions>
-    </div>
-
-
-    </div>
-</template>
-
-<script>
-import { listVessel, getVessel, delVessel, addVessel, updateVessel, exportVessel } from "@/api/store/vessel";
-  export default {
-    name: "getVessel",
-    data() {
-      return {
-        item:null,
-        // 状态字典
-        statusOptions: [],
-      }
-    },
-    created() {
-      this.getDicts("sys_company_status").then(response => {
-        this.statusOptions = response.data;
-      });
-    },
-    methods: {
-      getDetails(orderId) {
-        this.item=null;
-        getVessel(orderId).then(response => {
-            this.item = response.data;
-        });
-      },
-    }
-  }
-</script>
-<style>
-  .contentx{
-      height: 100%;
-      background-color: #fff;
-      padding: 0px 20px 20px;
-
-
-      margin: 20px;
-  }
-  .el-descriptions-item__label.is-bordered-label{
-    font-weight: normal;
-  }
-  .el-descriptions-item__content {
-    max-width: 150px;
-    min-width: 100px;
-  }
-  .desct{
-      padding-top: 20px;
-      padding-bottom: 20px;
-      color: #524b4a;
-      font-weight: bold;
-    }
-
-</style>

+ 7 - 7
src/api/hisStore/department.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询科室列表
 export function listDepartment(query) {
   return request({
-    url: '/his/department/list',
+    url: '/store/his/department/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listDepartment(query) {
 // 查询科室详细
 export function getDepartment(deptId) {
   return request({
-    url: '/his/department/' + deptId,
+    url: '/store/his/department/' + deptId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getDepartment(deptId) {
 // 新增科室
 export function addDepartment(data) {
   return request({
-    url: '/his/department',
+    url: '/store/his/department',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addDepartment(data) {
 // 修改科室
 export function updateDepartment(data) {
   return request({
-    url: '/his/department',
+    url: '/store/his/department',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateDepartment(data) {
 // 删除科室
 export function delDepartment(deptId) {
   return request({
-    url: '/his/department/' + deptId,
+    url: '/store/his/department/' + deptId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delDepartment(deptId) {
 // 导出科室
 export function exportDepartment(query) {
   return request({
-    url: '/his/department/export',
+    url: '/store/his/department/export',
     method: 'get',
     params: query
   })
-}
+}

+ 8 - 8
src/api/hisStore/disease.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询疾病列表
 export function listDisease(query) {
   return request({
-    url: '/his/disease/list',
+    url: '/store/his/disease/list',
     method: 'get',
     params: query
   })
@@ -12,14 +12,14 @@ export function listDisease(query) {
 // 查询疾病详细
 export function getDisease(diseaseId) {
   return request({
-    url: '/his/disease/' + diseaseId,
+    url: '/store/his/disease/' + diseaseId,
     method: 'get'
   })
 }
 // 查询科室列表
 export function listDepartment(query) {
   return request({
-    url: '/his/department/listOptions',
+    url: '/store/his/department/listOptions',
     method: 'get',
     params: query
   })
@@ -27,7 +27,7 @@ export function listDepartment(query) {
 // 新增疾病
 export function addDisease(data) {
   return request({
-    url: '/his/disease',
+    url: '/store/his/disease',
     method: 'post',
     data: data
   })
@@ -36,7 +36,7 @@ export function addDisease(data) {
 // 修改疾病
 export function updateDisease(data) {
   return request({
-    url: '/his/disease',
+    url: '/store/his/disease',
     method: 'put',
     data: data
   })
@@ -45,7 +45,7 @@ export function updateDisease(data) {
 // 删除疾病
 export function delDisease(diseaseId) {
   return request({
-    url: '/his/disease/' + diseaseId,
+    url: '/store/his/disease/' + diseaseId,
     method: 'delete'
   })
 }
@@ -53,8 +53,8 @@ export function delDisease(diseaseId) {
 // 导出疾病
 export function exportDisease(query) {
   return request({
-    url: '/his/disease/export',
+    url: '/store/his/disease/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/doctorArticle.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询医生文章列表
 export function listArticle(query) {
   return request({
-    url: '/his/doctorArticle/list',
+    url: '/store/his/doctorArticle/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listArticle(query) {
 // 查询医生名称列表
 export function listdocuser(query) {
   return request({
-    url: '/his/doctor/userdoc/list',
+    url: '/store/his/doctor/userdoc/list',
     method: 'get',
     params: query
   })
@@ -21,7 +21,7 @@ export function listdocuser(query) {
 // 查询医生文章详细
 export function getArticle(articleId) {
   return request({
-    url: '/his/doctorArticle/' + articleId,
+    url: '/store/his/doctorArticle/' + articleId,
     method: 'get'
   })
 }
@@ -29,7 +29,7 @@ export function getArticle(articleId) {
 // 新增医生文章
 export function addArticle(data) {
   return request({
-    url: '/his/doctorArticle',
+    url: '/store/his/doctorArticle',
     method: 'post',
     data: data
   })
@@ -38,7 +38,7 @@ export function addArticle(data) {
 // 修改医生文章
 export function updateArticle(data) {
   return request({
-    url: '/his/doctorArticle',
+    url: '/store/his/doctorArticle',
     method: 'put',
     data: data
   })
@@ -47,7 +47,7 @@ export function updateArticle(data) {
 // 删除医生文章
 export function delArticle(articleId) {
   return request({
-    url: '/his/doctorArticle/' + articleId,
+    url: '/store/his/doctorArticle/' + articleId,
     method: 'delete'
   })
 }
@@ -55,7 +55,7 @@ export function delArticle(articleId) {
 // 导出医生文章
 export function exportArticle(query) {
   return request({
-    url: '/his/doctorArticle/export',
+    url: '/store/his/doctorArticle/export',
     method: 'get',
     params: query
   })

+ 8 - 8
src/api/hisStore/famousPrescribe.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询经典名方列表
 export function listFamousPrescribe(query) {
   return request({
-    url: '/his/famousPrescribe/list',
+    url: '/store/his/famousPrescribe/list',
     method: 'get',
     params: query
   })
@@ -12,21 +12,21 @@ export function listFamousPrescribe(query) {
 // 查询经典名方详细
 export function getFamousPrescribe(id) {
   return request({
-    url: '/his/famousPrescribe/' + id,
+    url: '/store/his/famousPrescribe/' + id,
     method: 'get'
   })
 }
 // 下载导入模板
 export function importTemplate() {
   return request({
-    url: '/his/chineseMedicine/importTemplate',
+    url: '/store/his/chineseMedicine/importTemplate',
     method: 'get'
   })
 }
 // 新增经典名方
 export function addFamousPrescribe(data) {
   return request({
-    url: '/his/famousPrescribe',
+    url: '/store/his/famousPrescribe',
     method: 'post',
     data: data
   })
@@ -35,7 +35,7 @@ export function addFamousPrescribe(data) {
 // 修改经典名方
 export function updateFamousPrescribe(data) {
   return request({
-    url: '/his/famousPrescribe',
+    url: '/store/his/famousPrescribe',
     method: 'put',
     data: data
   })
@@ -44,7 +44,7 @@ export function updateFamousPrescribe(data) {
 // 删除经典名方
 export function delFamousPrescribe(id) {
   return request({
-    url: '/his/famousPrescribe/' + id,
+    url: '/store/his/famousPrescribe/' + id,
     method: 'delete'
   })
 }
@@ -52,8 +52,8 @@ export function delFamousPrescribe(id) {
 // 导出经典名方
 export function exportFamousPrescribe(query) {
   return request({
-    url: '/his/famousPrescribe/export',
+    url: '/store/his/famousPrescribe/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/illnessLibrary.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询中医疾病列表
 export function listillnessLibrary(query) {
   return request({
-    url: '/his/illnessLibrary/list',
+    url: '/store/his/illnessLibrary/list',
     method: 'get',
     params: query
   })
@@ -12,13 +12,13 @@ export function listillnessLibrary(query) {
 // 查询中医疾病详细
 export function getillnessLibrary(illnessId) {
   return request({
-    url: '/his/illnessLibrary/' + illnessId,
+    url: '/store/his/illnessLibrary/' + illnessId,
     method: 'get'
   })
 }
 export function getIllness(query) {
   return request({
-    url: '/his/illnessLibrary/getIllness/',
+    url: '/store/his/illnessLibrary/getIllness/',
     method: 'get',
     params: query
   })
@@ -27,7 +27,7 @@ export function getIllness(query) {
 // 新增中医疾病
 export function addillnessLibrary(data) {
   return request({
-    url: '/his/illnessLibrary',
+    url: '/store/his/illnessLibrary',
     method: 'post',
     data: data
   })
@@ -36,7 +36,7 @@ export function addillnessLibrary(data) {
 // 修改中医疾病
 export function updateillnessLibrary(data) {
   return request({
-    url: '/his/illnessLibrary',
+    url: '/store/his/illnessLibrary',
     method: 'put',
     data: data
   })
@@ -45,7 +45,7 @@ export function updateillnessLibrary(data) {
 // 删除中医疾病
 export function delillnessLibrary(illnessId) {
   return request({
-    url: '/his/illnessLibrary/' + illnessId,
+    url: '/store/his/illnessLibrary/' + illnessId,
     method: 'delete'
   })
 }
@@ -53,7 +53,7 @@ export function delillnessLibrary(illnessId) {
 // 导出中医疾病
 export function exportillnessLibrary(query) {
   return request({
-    url: '/his/illnessLibrary/export',
+    url: '/store/his/illnessLibrary/export',
     method: 'get',
     params: query
   })

+ 8 - 8
src/api/hisStore/integralGoods.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询积分商品列表
 export function listIntegralGoods(query) {
   return request({
-    url: '/his/integralGoods/list',
+    url: '/store/his/integralGoods/list',
     method: 'get',
     params: query
   })
@@ -12,20 +12,20 @@ export function listIntegralGoods(query) {
 // 查询积分商品详细
 export function getIntegralGoods(goodsId) {
   return request({
-    url: '/his/integralGoods/' + goodsId,
+    url: '/store/his/integralGoods/' + goodsId,
     method: 'get'
   })
 }
 export function importTemplate() {
   return request({
-    url: '/his/integralGoods/importTemplate',
+    url: '/store/his/integralGoods/importTemplate',
     method: 'get'
   })
 }
 // 新增积分商品
 export function addIntegralGoods(data) {
   return request({
-    url: '/his/integralGoods',
+    url: '/store/his/integralGoods',
     method: 'post',
     data: data
   })
@@ -34,7 +34,7 @@ export function addIntegralGoods(data) {
 // 修改积分商品
 export function updateIntegralGoods(data) {
   return request({
-    url: '/his/integralGoods',
+    url: '/store/his/integralGoods',
     method: 'put',
     data: data
   })
@@ -43,7 +43,7 @@ export function updateIntegralGoods(data) {
 // 删除积分商品
 export function delIntegralGoods(goodsId) {
   return request({
-    url: '/his/integralGoods/' + goodsId,
+    url: '/store/his/integralGoods/' + goodsId,
     method: 'delete'
   })
 }
@@ -51,8 +51,8 @@ export function delIntegralGoods(goodsId) {
 // 导出积分商品
 export function exportIntegralGoods(query) {
   return request({
-    url: '/his/integralGoods/export',
+    url: '/store/his/integralGoods/export',
     method: 'get',
     params: query
   })
-}
+}

+ 10 - 10
src/api/hisStore/integralOrder.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询积分商品订单列表
 export function listIntegralOrder(query) {
   return request({
-    url: '/his/integralOrder/list',
+    url: '/store/his/integralOrder/list',
     method: 'get',
     params: query
   })
@@ -12,25 +12,25 @@ export function listIntegralOrder(query) {
 // 查询积分商品订单详细
 export function getIntegralOrder(orderId) {
   return request({
-    url: '/his/integralOrder/' + orderId,
+    url: '/store/his/integralOrder/' + orderId,
     method: 'get'
   })
 }
 export function getExpress(orderId) {
   return request({
-    url: '/his/integralOrder/getExpress/' + orderId,
+    url: '/store/his/integralOrder/getExpress/' + orderId,
     method: 'get'
   })
 }
 export function importTemplate() {
   return request({
-    url: '/his/integralOrder/importTemplate',
+    url: '/store/his/integralOrder/importTemplate',
     method: 'get'
   })
 }
 export function sendgoods(data) {
   return request({
-    url: '/his/integralOrder/sendGoods',
+    url: '/store/his/integralOrder/sendGoods',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function sendgoods(data) {
 // 新增积分商品订单
 export function addIntegralOrder(data) {
   return request({
-    url: '/his/integralOrder',
+    url: '/store/his/integralOrder',
     method: 'post',
     data: data
   })
@@ -47,7 +47,7 @@ export function addIntegralOrder(data) {
 // 修改积分商品订单
 export function updateIntegralOrder(data) {
   return request({
-    url: '/his/integralOrder',
+    url: '/store/his/integralOrder',
     method: 'put',
     data: data
   })
@@ -56,7 +56,7 @@ export function updateIntegralOrder(data) {
 // 删除积分商品订单
 export function delIntegralOrder(orderId) {
   return request({
-    url: '/his/integralOrder/' + orderId,
+    url: '/store/his/integralOrder/' + orderId,
     method: 'delete'
   })
 }
@@ -64,7 +64,7 @@ export function delIntegralOrder(orderId) {
 // 导出积分商品订单
 export function exportIntegralOrder(query) {
   return request({
-    url: '/his/integralOrder/export',
+    url: '/store/his/integralOrder/export',
     method: 'get',
     params: query
   })
@@ -74,7 +74,7 @@ export function exportIntegralOrder(query) {
 // 查询收货人电话
 export function getOrderUserPhone(orderId) {
   return request({
-    url: '/his/integralOrder/queryPhone/' + orderId,
+    url: '/store/his/integralOrder/queryPhone/' + orderId,
     method: 'get'
   })
 }

+ 8 - 8
src/api/hisStore/medicatedFood.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询药膳食疗列表
 export function listMedicatedFood(query) {
   return request({
-    url: '/his/medicatedFood/list',
+    url: '/store/his/medicatedFood/list',
     method: 'get',
     params: query
   })
@@ -12,14 +12,14 @@ export function listMedicatedFood(query) {
 // 下载导入模板
 export function importTemplate() {
   return request({
-    url: '/his/medicatedFood/importTemplate',
+    url: '/store/his/medicatedFood/importTemplate',
     method: 'get'
   })
 }
 // 查询药膳食疗详细
 export function getMedicatedFood(id) {
   return request({
-    url: '/his/medicatedFood/' + id,
+    url: '/store/his/medicatedFood/' + id,
     method: 'get'
   })
 }
@@ -27,7 +27,7 @@ export function getMedicatedFood(id) {
 // 新增药膳食疗
 export function addMedicatedFood(data) {
   return request({
-    url: '/his/medicatedFood',
+    url: '/store/his/medicatedFood',
     method: 'post',
     data: data
   })
@@ -36,7 +36,7 @@ export function addMedicatedFood(data) {
 // 修改药膳食疗
 export function updateMedicatedFood(data) {
   return request({
-    url: '/his/medicatedFood',
+    url: '/store/his/medicatedFood',
     method: 'put',
     data: data
   })
@@ -45,7 +45,7 @@ export function updateMedicatedFood(data) {
 // 删除药膳食疗
 export function delMedicatedFood(id) {
   return request({
-    url: '/his/medicatedFood/' + id,
+    url: '/store/his/medicatedFood/' + id,
     method: 'delete'
   })
 }
@@ -53,8 +53,8 @@ export function delMedicatedFood(id) {
 // 导出药膳食疗
 export function exportMedicatedFood(query) {
   return request({
-    url: '/his/medicatedFood/export',
+    url: '/store/his/medicatedFood/export',
     method: 'get',
     params: query
   })
-}
+}

+ 6 - 6
src/api/hisStore/menu.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询用户端菜单管理列表
 export function listMenu(query) {
   return request({
-    url: '/store/store/menu/list',
+    url: '/store/store/store/menu/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listMenu(query) {
 // 查询用户端菜单管理详细
 export function getMenu(menuId) {
   return request({
-    url: '/store/store/menu/' + menuId,
+    url: '/store/store/store/menu/' + menuId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getMenu(menuId) {
 // 新增用户端菜单管理
 export function addMenu(data) {
   return request({
-    url: '/store/store/menu',
+    url: '/store/store/store/menu',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addMenu(data) {
 // 修改用户端菜单管理
 export function updateMenu(data) {
   return request({
-    url: '/store/store/menu',
+    url: '/store/store/store/menu',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateMenu(data) {
 // 删除用户端菜单管理
 export function delMenu(menuId) {
   return request({
-    url: '/store/store/menu/' + menuId,
+    url: '/store/store/store/menu/' + menuId,
     method: 'delete'
   })
 }
@@ -46,7 +46,7 @@ export function delMenu(menuId) {
 // 导出用户端菜单管理
 export function exportMenu(query) {
   return request({
-    url: '/store/store/menu/export',
+    url: '/store/store/store/menu/export',
     method: 'get',
     params: query
   })

+ 28 - 0
src/api/hisStore/operlog.js

@@ -0,0 +1,28 @@
+import request from '@/utils/request'
+
+// 查询操作日志列表
+export function list(query) {
+  return request({
+    url: '/store/operlogScrm/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 导出操作日志
+export function exportOperlog(query) {
+  return request({
+    url: '/store/operlogScrm/export',
+    method: 'get',
+    params: query
+  })
+}
+
+//获取主体数据getMains
+export function getMains(query) {
+  return request({
+    url: '/store/operlogScrm/getMains',
+    method: 'get',
+    params: query
+  })
+}

+ 7 - 7
src/api/hisStore/prescribe.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询处方列表
 export function listPrescribe(query) {
   return request({
-    url: '/store/prescribe/list',
+    url: '/store/store/prescribe/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listPrescribe(query) {
 // 查询处方详细
 export function getPrescribe(prescribeId) {
   return request({
-    url: '/store/prescribe/' + prescribeId,
+    url: '/store/store/prescribe/' + prescribeId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getPrescribe(prescribeId) {
 // 新增处方
 export function addPrescribe(data) {
   return request({
-    url: '/store/prescribe',
+    url: '/store/store/prescribe',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addPrescribe(data) {
 // 修改处方
 export function updatePrescribe(data) {
   return request({
-    url: '/store/prescribe',
+    url: '/store/store/prescribe',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updatePrescribe(data) {
 // 删除处方
 export function delPrescribe(prescribeId) {
   return request({
-    url: '/store/prescribe/' + prescribeId,
+    url: '/store/store/prescribe/' + prescribeId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delPrescribe(prescribeId) {
 // 导出处方
 export function exportPrescribe(query) {
   return request({
-    url: '/store/prescribe/export',
+    url: '/store/store/prescribe/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/prescribeDrug.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询处方药品列表
 export function listPrescribeDrug(query) {
   return request({
-    url: '/store/prescribeDrug/list',
+    url: '/store/store/prescribeDrug/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listPrescribeDrug(query) {
 // 查询处方药品详细
 export function getPrescribeDrug(drugId) {
   return request({
-    url: '/store/prescribeDrug/' + drugId,
+    url: '/store/store/prescribeDrug/' + drugId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getPrescribeDrug(drugId) {
 // 新增处方药品
 export function addPrescribeDrug(data) {
   return request({
-    url: '/store/prescribeDrug',
+    url: '/store/store/prescribeDrug',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addPrescribeDrug(data) {
 // 修改处方药品
 export function updatePrescribeDrug(data) {
   return request({
-    url: '/store/prescribeDrug',
+    url: '/store/store/prescribeDrug',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updatePrescribeDrug(data) {
 // 删除处方药品
 export function delPrescribeDrug(drugId) {
   return request({
-    url: '/store/prescribeDrug/' + drugId,
+    url: '/store/store/prescribeDrug/' + drugId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delPrescribeDrug(drugId) {
 // 导出处方药品
 export function exportPrescribeDrug(query) {
   return request({
-    url: '/store/prescribeDrug/export',
+    url: '/store/store/prescribeDrug/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/shippingTemplates.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询运费模板列表
 export function listShippingTemplates(query) {
   return request({
-    url: '/store/shippingTemplates/list',
+    url: '/store/store/shippingTemplates/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listShippingTemplates(query) {
 // 查询运费模板详细
 export function getShippingTemplates(shippingId) {
   return request({
-    url: '/store/shippingTemplates/' + shippingId,
+    url: '/store/store/shippingTemplates/' + shippingId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getShippingTemplates(shippingId) {
 // 新增运费模板
 export function addShippingTemplates(data) {
   return request({
-    url: '/store/shippingTemplates',
+    url: '/store/store/shippingTemplates',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addShippingTemplates(data) {
 // 修改运费模板
 export function updateShippingTemplates(data) {
   return request({
-    url: '/store/shippingTemplates',
+    url: '/store/store/shippingTemplates',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateShippingTemplates(data) {
 // 删除运费模板
 export function delShippingTemplates(shippingId) {
   return request({
-    url: '/store/shippingTemplates/' + shippingId,
+    url: '/store/store/shippingTemplates/' + shippingId,
     method: 'delete'
   })
 }
@@ -46,14 +46,14 @@ export function delShippingTemplates(shippingId) {
 // 导出运费模板
 export function exportShippingTemplates(query) {
   return request({
-    url: '/store/shippingTemplates/export',
+    url: '/store/store/shippingTemplates/export',
     method: 'get',
     params: query
   })
 }
 export function getAllShippingTemplates() {
   return request({
-    url: '/store/shippingTemplates/getAllList',
+    url: '/store/store/shippingTemplates/getAllList',
     method: 'get'
   })
 }

+ 76 - 0
src/api/hisStore/store.js

@@ -0,0 +1,76 @@
+import request from '@/utils/request'
+
+// 查询店铺管理列表
+export function listStore(query) {
+  return request({
+    url: '/store/his/store/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询店铺管理详细
+export function getStore(storeId) {
+  return request({
+    url: '/store/his/store/' + storeId,
+    method: 'get'
+  })
+}
+
+
+// 新增店铺管理
+export function addStore(data) {
+  return request({
+    url: '/store/his/store',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改店铺管理
+export function updateStore(data) {
+  return request({
+    url: '/store/his/store',
+    method: 'put',
+    data: data
+  })
+}
+// 修改店铺管理
+export function audit(data) {
+  return request({
+    url: '/store/his/store/audit',
+    method: 'put',
+    data: data
+  })
+}
+// 删除店铺管理
+export function delStore(storeId) {
+  return request({
+    url: '/store/his/store/' + storeId,
+    method: 'delete'
+  })
+}
+
+export function refreshPasWod(storeId) {
+  return request({
+    url: '/store/his/store/refresh'+ storeId,
+    method: 'get'
+  })
+}
+
+// 导出店铺管理
+export function exportStore(query) {
+  return request({
+    url: '/store/his/store/export',
+    method: 'get',
+    params: query
+  })
+}
+
+//getStoreAuditLog
+export function getStoreAuditLog(storeId) {
+  return request({
+    url: '/store/his/store/auditLog/'+ storeId,
+    method: 'get'
+  })
+}

+ 7 - 7
src/api/hisStore/storeActivity.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询活动列表
 export function listStoreActivity(query) {
   return request({
-    url: '/store/storeActivity/list',
+    url: '/store/store/storeActivity/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreActivity(query) {
 // 查询活动详细
 export function getStoreActivity(activityId) {
   return request({
-    url: '/store/storeActivity/' + activityId,
+    url: '/store/store/storeActivity/' + activityId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreActivity(activityId) {
 // 新增活动
 export function addStoreActivity(data) {
   return request({
-    url: '/store/storeActivity',
+    url: '/store/store/storeActivity',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreActivity(data) {
 // 修改活动
 export function updateStoreActivity(data) {
   return request({
-    url: '/store/storeActivity',
+    url: '/store/store/storeActivity',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreActivity(data) {
 // 删除活动
 export function delStoreActivity(activityId) {
   return request({
-    url: '/store/storeActivity/' + activityId,
+    url: '/store/store/storeActivity/' + activityId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreActivity(activityId) {
 // 导出活动
 export function exportStoreActivity(query) {
   return request({
-    url: '/store/storeActivity/export',
+    url: '/store/store/storeActivity/export',
     method: 'get',
     params: query
   })
-}
+}

+ 10 - 10
src/api/hisStore/storeAfterSales.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询售后记录列表
 export function listStoreAfterSales(query) {
   return request({
-    url: '/store/storeAfterSales/list',
+    url: '/store/store/storeAfterSales/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreAfterSales(query) {
 // 查询售后记录详细
 export function getStoreAfterSales(id) {
   return request({
-    url: '/store/storeAfterSales/' + id,
+    url: '/store/store/storeAfterSales/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreAfterSales(id) {
 // 新增售后记录
 export function addStoreAfterSales(data) {
   return request({
-    url: '/store/storeAfterSales',
+    url: '/store/store/storeAfterSales',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreAfterSales(data) {
 // 修改售后记录
 export function updateStoreAfterSales(data) {
   return request({
-    url: '/store/storeAfterSales',
+    url: '/store/store/storeAfterSales',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreAfterSales(data) {
 // 删除售后记录
 export function delStoreAfterSales(id) {
   return request({
-    url: '/store/storeAfterSales/' + id,
+    url: '/store/store/storeAfterSales/' + id,
     method: 'delete'
   })
 }
@@ -46,7 +46,7 @@ export function delStoreAfterSales(id) {
 // 导出售后记录
 export function exportStoreAfterSales(query) {
   return request({
-    url: '/store/storeAfterSales/export',
+    url: '/store/store/storeAfterSales/export',
     method: 'get',
     params: query
   })
@@ -56,7 +56,7 @@ export function exportStoreAfterSales(query) {
 
 export function cancel(data) {
   return request({
-    url: '/store/storeAfterSales/cancel',
+    url: '/store/store/storeAfterSales/cancel',
     method: 'post',
     data: data
   })
@@ -64,7 +64,7 @@ export function cancel(data) {
 
 export function refund(data) {
   return request({
-    url: '/store/storeAfterSales/refund',
+    url: '/store/store/storeAfterSales/refund',
     method: 'post',
     data: data
   })
@@ -72,14 +72,14 @@ export function refund(data) {
 
 export function audit1(data) {
   return request({
-    url: '/store/storeAfterSales/audit1',
+    url: '/store/store/storeAfterSales/audit1',
     method: 'post',
     data: data
   })
 }
 export function audit2(data) {
   return request({
-    url: '/store/storeAfterSales/audit2',
+    url: '/store/store/storeAfterSales/audit2',
     method: 'post',
     data: data
   })

+ 7 - 7
src/api/hisStore/storeAfterSalesItem.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询售后子列表
 export function listStoreAfterSalesItem(query) {
   return request({
-    url: '/store/storeAfterSalesItem/list',
+    url: '/store/store/storeAfterSalesItem/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreAfterSalesItem(query) {
 // 查询售后子详细
 export function getStoreAfterSalesItem(id) {
   return request({
-    url: '/store/storeAfterSalesItem/' + id,
+    url: '/store/store/storeAfterSalesItem/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreAfterSalesItem(id) {
 // 新增售后子
 export function addStoreAfterSalesItem(data) {
   return request({
-    url: '/store/storeAfterSalesItem',
+    url: '/store/store/storeAfterSalesItem',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreAfterSalesItem(data) {
 // 修改售后子
 export function updateStoreAfterSalesItem(data) {
   return request({
-    url: '/store/storeAfterSalesItem',
+    url: '/store/store/storeAfterSalesItem',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreAfterSalesItem(data) {
 // 删除售后子
 export function delStoreAfterSalesItem(id) {
   return request({
-    url: '/store/storeAfterSalesItem/' + id,
+    url: '/store/store/storeAfterSalesItem/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreAfterSalesItem(id) {
 // 导出售后子
 export function exportStoreAfterSalesItem(query) {
   return request({
-    url: '/store/storeAfterSalesItem/export',
+    url: '/store/store/storeAfterSalesItem/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeAfterSalesStatus.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询售后订单操作列表
 export function listStoreAfterSalesStatus(query) {
   return request({
-    url: '/store/storeAfterSalesStatus/list',
+    url: '/store/store/storeAfterSalesStatus/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreAfterSalesStatus(query) {
 // 查询售后订单操作详细
 export function getStoreAfterSalesStatus(id) {
   return request({
-    url: '/store/storeAfterSalesStatus/' + id,
+    url: '/store/store/storeAfterSalesStatus/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreAfterSalesStatus(id) {
 // 新增售后订单操作
 export function addStoreAfterSalesStatus(data) {
   return request({
-    url: '/store/storeAfterSalesStatus',
+    url: '/store/store/storeAfterSalesStatus',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreAfterSalesStatus(data) {
 // 修改售后订单操作
 export function updateStoreAfterSalesStatus(data) {
   return request({
-    url: '/store/storeAfterSalesStatus',
+    url: '/store/store/storeAfterSalesStatus',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreAfterSalesStatus(data) {
 // 删除售后订单操作
 export function delStoreAfterSalesStatus(id) {
   return request({
-    url: '/store/storeAfterSalesStatus/' + id,
+    url: '/store/store/storeAfterSalesStatus/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreAfterSalesStatus(id) {
 // 导出售后订单操作
 export function exportStoreAfterSalesStatus(query) {
   return request({
-    url: '/store/storeAfterSalesStatus/export',
+    url: '/store/store/storeAfterSalesStatus/export',
     method: 'get',
     params: query
   })
-}
+}

+ 4 - 5
src/api/hisStore/storeCanvas.js

@@ -1,21 +1,20 @@
 import request from '@/utils/request'
 
- 
+
 
 // 查询画布信息详细
 export function getStoreCanvas(canvasId) {
   return request({
-    url: '/store/storeCanvas/' + canvasId,
+    url: '/store/store/storeCanvas/' + canvasId,
     method: 'get'
   })
 }
- 
+
 // 修改画布信息
 export function updateStoreCanvas(data) {
   return request({
-    url: '/store/storeCanvas',
+    url: '/store/store/storeCanvas',
     method: 'put',
     data: data
   })
 }
- 

+ 7 - 7
src/api/hisStore/storeCart.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询购物车列表
 export function listStoreCart(query) {
   return request({
-    url: '/store/storeCart/list',
+    url: '/store/store/storeCart/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreCart(query) {
 // 查询购物车详细
 export function getStoreCart(id) {
   return request({
-    url: '/store/storeCart/' + id,
+    url: '/store/store/storeCart/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreCart(id) {
 // 新增购物车
 export function addStoreCart(data) {
   return request({
-    url: '/store/storeCart',
+    url: '/store/store/storeCart',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreCart(data) {
 // 修改购物车
 export function updateStoreCart(data) {
   return request({
-    url: '/store/storeCart',
+    url: '/store/store/storeCart',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreCart(data) {
 // 删除购物车
 export function delStoreCart(id) {
   return request({
-    url: '/store/storeCart/' + id,
+    url: '/store/store/storeCart/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreCart(id) {
 // 导出购物车
 export function exportStoreCart(query) {
   return request({
-    url: '/store/storeCart/export',
+    url: '/store/store/storeCart/export',
     method: 'get',
     params: query
   })
-}
+}

+ 8 - 8
src/api/hisStore/storeCoupon.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询优惠券列表
 export function listStoreCoupon(query) {
   return request({
-    url: '/store/storeCoupon/list',
+    url: '/store/store/storeCoupon/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreCoupon(query) {
 // 查询优惠券详细
 export function getStoreCoupon(couponId) {
   return request({
-    url: '/store/storeCoupon/' + couponId,
+    url: '/store/store/storeCoupon/' + couponId,
     method: 'get'
   })
 }
@@ -20,14 +20,14 @@ export function getStoreCoupon(couponId) {
 // 新增优惠券
 export function addStoreCoupon(data) {
   return request({
-    url: '/store/storeCoupon',
+    url: '/store/store/storeCoupon',
     method: 'post',
     data: data
   })
 }
 export function publishCoupon(data) {
   return request({
-    url: '/store/storeCoupon/publish',
+    url: '/store/store/storeCoupon/publish',
     method: 'post',
     data: data
   })
@@ -35,7 +35,7 @@ export function publishCoupon(data) {
 
 export function batchPublishCoupon(data) {
   return request({
-    url: '/store/storeCoupon/batchPublish',
+    url: '/store/store/storeCoupon/batchPublish',
     method: 'post',
     data: data
   })
@@ -46,7 +46,7 @@ export function batchPublishCoupon(data) {
 // 修改优惠券
 export function updateStoreCoupon(data) {
   return request({
-    url: '/store/storeCoupon',
+    url: '/store/store/storeCoupon',
     method: 'put',
     data: data
   })
@@ -55,7 +55,7 @@ export function updateStoreCoupon(data) {
 // 删除优惠券
 export function delStoreCoupon(couponId) {
   return request({
-    url: '/store/storeCoupon/' + couponId,
+    url: '/store/store/storeCoupon/' + couponId,
     method: 'delete'
   })
 }
@@ -63,7 +63,7 @@ export function delStoreCoupon(couponId) {
 // 导出优惠券
 export function exportStoreCoupon(query) {
   return request({
-    url: '/store/storeCoupon/export',
+    url: '/store/store/storeCoupon/export',
     method: 'get',
     params: query
   })

+ 7 - 7
src/api/hisStore/storeCouponIssue.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询优惠券领取列表
 export function listStoreCouponIssue(query) {
   return request({
-    url: '/store/storeCouponIssue/list',
+    url: '/store/store/storeCouponIssue/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreCouponIssue(query) {
 // 查询优惠券领取详细
 export function getStoreCouponIssue(id) {
   return request({
-    url: '/store/storeCouponIssue/' + id,
+    url: '/store/store/storeCouponIssue/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreCouponIssue(id) {
 // 新增优惠券领取
 export function addStoreCouponIssue(data) {
   return request({
-    url: '/store/storeCouponIssue',
+    url: '/store/store/storeCouponIssue',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreCouponIssue(data) {
 // 修改优惠券领取
 export function updateStoreCouponIssue(data) {
   return request({
-    url: '/store/storeCouponIssue',
+    url: '/store/store/storeCouponIssue',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreCouponIssue(data) {
 // 删除优惠券领取
 export function delStoreCouponIssue(id) {
   return request({
-    url: '/store/storeCouponIssue/' + id,
+    url: '/store/store/storeCouponIssue/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreCouponIssue(id) {
 // 导出优惠券领取
 export function exportStoreCouponIssue(query) {
   return request({
-    url: '/store/storeCouponIssue/export',
+    url: '/store/store/storeCouponIssue/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeCouponIssueUser.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询优惠券用户领取记录列表
 export function listStoreCouponIssueUser(query) {
   return request({
-    url: '/store/storeCouponIssueUser/list',
+    url: '/store/store/storeCouponIssueUser/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreCouponIssueUser(query) {
 // 查询优惠券用户领取记录详细
 export function getStoreCouponIssueUser(id) {
   return request({
-    url: '/store/storeCouponIssueUser/' + id,
+    url: '/store/store/storeCouponIssueUser/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreCouponIssueUser(id) {
 // 新增优惠券用户领取记录
 export function addStoreCouponIssueUser(data) {
   return request({
-    url: '/store/storeCouponIssueUser',
+    url: '/store/store/storeCouponIssueUser',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreCouponIssueUser(data) {
 // 修改优惠券用户领取记录
 export function updateStoreCouponIssueUser(data) {
   return request({
-    url: '/store/storeCouponIssueUser',
+    url: '/store/store/storeCouponIssueUser',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreCouponIssueUser(data) {
 // 删除优惠券用户领取记录
 export function delStoreCouponIssueUser(id) {
   return request({
-    url: '/store/storeCouponIssueUser/' + id,
+    url: '/store/store/storeCouponIssueUser/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreCouponIssueUser(id) {
 // 导出优惠券用户领取记录
 export function exportStoreCouponIssueUser(query) {
   return request({
-    url: '/store/storeCouponIssueUser/export',
+    url: '/store/store/storeCouponIssueUser/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeCouponUser.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询优惠券发放记录列表
 export function listStoreCouponUser(query) {
   return request({
-    url: '/store/storeCouponUser/list',
+    url: '/store/store/storeCouponUser/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreCouponUser(query) {
 // 查询优惠券发放记录详细
 export function getStoreCouponUser(id) {
   return request({
-    url: '/store/storeCouponUser/' + id,
+    url: '/store/store/storeCouponUser/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreCouponUser(id) {
 // 新增优惠券发放记录
 export function addStoreCouponUser(data) {
   return request({
-    url: '/store/storeCouponUser',
+    url: '/store/store/storeCouponUser',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreCouponUser(data) {
 // 修改优惠券发放记录
 export function updateStoreCouponUser(data) {
   return request({
-    url: '/store/storeCouponUser',
+    url: '/store/store/storeCouponUser',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreCouponUser(data) {
 // 删除优惠券发放记录
 export function delStoreCouponUser(id) {
   return request({
-    url: '/store/storeCouponUser/' + id,
+    url: '/store/store/storeCouponUser/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreCouponUser(id) {
 // 导出优惠券发放记录
 export function exportStoreCouponUser(query) {
   return request({
-    url: '/store/storeCouponUser/export',
+    url: '/store/store/storeCouponUser/export',
     method: 'get',
     params: query
   })
-}
+}

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

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询订单列表
 export function listStoreOrder(query) {
   return request({
-    url: '/store/storeOrder/list',
+    url: '/store/store/storeOrder/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreOrder(query) {
 // 查询订单明细总数
 export function getOrderItemsNum(query) {
   return request({
-    url: '/store/storeOrder/orderItemsNum',
+    url: '/store/store/storeOrder/orderItemsNum',
     method: 'get',
     params: query
   })
@@ -20,7 +20,7 @@ export function getOrderItemsNum(query) {
 // 查询尾款订单列表
 export function listPayRemainOrder(query) {
   return request({
-    url: '/store/storeOrder/payRemainList',
+    url: '/store/store/storeOrder/payRemainList',
     method: 'get',
     params: query
   })
@@ -28,7 +28,7 @@ export function listPayRemainOrder(query) {
 // 查询推广订单列表
 export function listPromotionOrder(query) {
   return request({
-    url: '/store/storeOrder/promotionList',
+    url: '/store/store/storeOrder/promotionList',
     method: 'get',
     params: query
   })
@@ -36,7 +36,7 @@ export function listPromotionOrder(query) {
 // 查询健康商城订单列表
 export function listHealthStoreOrder(query) {
   return request({
-    url: '/store/storeOrder/healthList',
+    url: '/store/store/storeOrder/healthList',
     method: 'get',
     params: query
   })
@@ -44,7 +44,7 @@ export function listHealthStoreOrder(query) {
 
 export function getCustomerOrderList(query) {
   return request({
-    url: '/store/storeOrder/getCustomerOrderList',
+    url: '/store/store/storeOrder/getCustomerOrderList',
     method: 'get',
     params: query
   })
@@ -57,7 +57,7 @@ export function getCustomerOrderList(query) {
 // 查询订单详细
 export function getStoreOrder(id) {
   return request({
-    url: '/store/storeOrder/' + id,
+    url: '/store/store/storeOrder/' + id,
     method: 'get'
   })
 }
@@ -65,7 +65,7 @@ export function getStoreOrder(id) {
 // 查询订单详细
 export function getStoreOrderAddress(id) {
   return request({
-    url: '/store/storeOrder/queryAddress/' + id,
+    url: '/store/store/storeOrder/queryAddress/' + id,
     method: 'get'
   })
 }
@@ -73,7 +73,7 @@ export function getStoreOrderAddress(id) {
 // 查询订单详细
 export function getStoreOrderPhone(id) {
   return request({
-    url: '/store/storeOrder/queryPhone/' + id,
+    url: '/store/store/storeOrder/queryPhone/' + id,
     method: 'get'
   })
 }
@@ -81,7 +81,7 @@ export function getStoreOrderPhone(id) {
 
 export function getExpress(id) {
   return request({
-    url: '/store/storeOrder/getExpress/' + id,
+    url: '/store/store/storeOrder/getExpress/' + id,
     method: 'get'
   })
 }
@@ -89,7 +89,7 @@ export function getExpress(id) {
 // 新增订单
 export function addStoreOrder(data) {
   return request({
-    url: '/store/storeOrder',
+    url: '/store/store/storeOrder',
     method: 'post',
     data: data
   })
@@ -98,7 +98,7 @@ export function addStoreOrder(data) {
 // 修改订单
 export function updateStoreOrder(data) {
   return request({
-    url: '/store/storeOrder',
+    url: '/store/store/storeOrder',
     method: 'put',
     data: data
   })
@@ -107,7 +107,7 @@ export function updateStoreOrder(data) {
 // 修改物流编号
 export function updateDeliveryId(data) {
   return request({
-    url: '/store/storeOrder/editDeliveryId',
+    url: '/store/store/storeOrder/editDeliveryId',
     method: 'put',
     data: data
   })
@@ -116,7 +116,7 @@ export function updateDeliveryId(data) {
 // 删除订单
 export function delStoreOrder(id) {
   return request({
-    url: '/store/storeOrder/' + id,
+    url: '/store/store/storeOrder/' + id,
     method: 'delete'
   })
 }
@@ -124,7 +124,7 @@ export function delStoreOrder(id) {
 // 导出订单
 export function exportStoreOrder(query) {
   return request({
-    url: '/store/storeOrder/export',
+    url: '/store/store/storeOrder/export',
     method: 'get',
     params: query
   })
@@ -133,7 +133,7 @@ export function exportStoreOrder(query) {
 // 导出订单
 export function exportHealthStoreOrder(query) {
   return request({
-    url: '/store/storeOrder/healthExport',
+    url: '/store/store/storeOrder/healthExport',
     method: 'get',
     params: query
   })
@@ -142,7 +142,7 @@ export function exportHealthStoreOrder(query) {
 // 导出订单
 export function exportPromotionOrder(query) {
   return request({
-    url: '/store/storeOrder/promotionExport',
+    url: '/store/store/storeOrder/promotionExport',
     method: 'get',
     params: query
   })
@@ -151,7 +151,7 @@ export function exportPromotionOrder(query) {
 // 导出付尾款订单
 export function exportStorePayRemainOrder(query) {
   return request({
-    url: '/store/storeOrder/payRemainExport',
+    url: '/store/store/storeOrder/payRemainExport',
     method: 'get',
     params: query
   })
@@ -160,7 +160,7 @@ export function exportStorePayRemainOrder(query) {
 // 导出订单
 export function exportStoreOrderItems(query) {
   return request({
-    url: '/store/storeOrder/exportItems',
+    url: '/store/store/storeOrder/exportItems',
     method: 'get',
     params: query
   })
@@ -169,7 +169,7 @@ export function exportStoreOrderItems(query) {
 // 导出订单
 export function exportHealthStoreOrderItems(query) {
   return request({
-    url: '/store/storeOrder/healthExportItems',
+    url: '/store/store/storeOrder/healthExportItems',
     method: 'get',
     params: query
   })
@@ -177,7 +177,7 @@ export function exportHealthStoreOrderItems(query) {
 
 export function createUserOrder(data) {
   return request({
-    url: '/store/storeOrder/createUserOrder',
+    url: '/store/store/storeOrder/createUserOrder',
     method: 'post',
     data: data
   })
@@ -185,21 +185,21 @@ export function createUserOrder(data) {
 
 export function finishOrder(data) {
   return request({
-    url: '/store/storeOrder/finishOrder',
+    url: '/store/store/storeOrder/finishOrder',
     method: 'post',
     data: data
   })
 }
 export function importTemplate() {
   return request({
-    url: '/store/storeOrder/importTemplate',
+    url: '/store/store/storeOrder/importTemplate',
     method: 'get'
   })
 }
 
 export function editTuiMoney(data) {
   return request({
-    url: '/store/storeOrder/editTuiMoney',
+    url: '/store/store/storeOrder/editTuiMoney',
     method: 'post',
     data: data
   })
@@ -207,7 +207,7 @@ export function editTuiMoney(data) {
 
 export function refundOrderMoney(data) {
   return request({
-    url: '/store/storeOrder/refundOrderMoney',
+    url: '/store/store/storeOrder/refundOrderMoney',
     method: 'post',
     data: data
   })
@@ -215,14 +215,14 @@ export function refundOrderMoney(data) {
 
 export function updateExpress(data) {
   return request({
-    url: '/store/storeOrder/updateExpress',
+    url: '/store/store/storeOrder/updateExpress',
     method: 'post',
     data: data
   })
 }
 export function syncExpress(data) {
   return request({
-    url: '/store/storeOrder/syncExpress',
+    url: '/store/store/storeOrder/syncExpress',
     method: 'post',
     data: data
   })
@@ -230,14 +230,14 @@ export function syncExpress(data) {
 
 export function updateErp(data) {
   return request({
-    url: '/store/storeOrder/updateErpOrder',
+    url: '/store/store/storeOrder/updateErpOrder',
     method: 'post',
     data: data
   })
 }
 export function addTuiMoney(data) {
   return request({
-    url: '/store/storeOrder/addTuiMoney',
+    url: '/store/store/storeOrder/addTuiMoney',
     method: 'post',
     data: data
   })
@@ -245,7 +245,7 @@ export function addTuiMoney(data) {
 
 export function getEroOrder(query) {
   return request({
-    url: '/store/storeOrder/getEroOrder',
+    url: '/store/store/storeOrder/getEroOrder',
     method: 'get',
     params: query
   })
@@ -253,7 +253,7 @@ export function getEroOrder(query) {
 
 export function createErpOrder(query) {
   return request({
-    url: '/store/storeOrder/createErpOrder',
+    url: '/store/store/storeOrder/createErpOrder',
     method: 'get',
     params: query
   })
@@ -262,7 +262,7 @@ export function createErpOrder(query) {
 //审核
 export function auditPayRemain(data) {
   return request({
-    url: '/store/storeOrder/auditPayRemain',
+    url: '/store/store/storeOrder/auditPayRemain',
     method: 'post',
     data: data
   })
@@ -271,7 +271,7 @@ export function auditPayRemain(data) {
 // 订单维度分页查询接口
 export function orderDimensionStatisticsList(query) {
   return request({
-    url: '/store/storeOrder/orderDimensionStatisticsList',
+    url: '/store/store/storeOrder/orderDimensionStatisticsList',
     method: 'get',
     params: query
   })
@@ -280,7 +280,7 @@ export function orderDimensionStatisticsList(query) {
 // 导出订单维度统计接口
 export function orderDimensionStatisticsExport(query) {
   return request({
-    url: '/store/storeOrder/orderDimensionStatisticsExport',
+    url: '/store/store/storeOrder/orderDimensionStatisticsExport',
     method: 'get',
     params: query
   })

+ 2 - 2
src/api/hisStore/storeOrderAudit.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 获取审核列表
 export const list = (query) => {
   return request({
-    url: '/store/storeOrderAudit/list',
+    url: '/store/store/storeOrderAudit/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export const list = (query) => {
 // 审核
 export const audit = (data) => {
   return request({
-    url: '/store/storeOrderAudit/audit',
+    url: '/store/store/storeOrderAudit/audit',
     method: 'post',
     data: data
   })

+ 7 - 7
src/api/hisStore/storeOrderItem.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询订单详情列表
 export function listStoreOrderItem(query) {
   return request({
-    url: '/store/storeOrderItem/list',
+    url: '/store/store/storeOrderItem/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreOrderItem(query) {
 // 查询订单详情详细
 export function getStoreOrderItem(itemId) {
   return request({
-    url: '/store/storeOrderItem/' + itemId,
+    url: '/store/store/storeOrderItem/' + itemId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreOrderItem(itemId) {
 // 新增订单详情
 export function addStoreOrderItem(data) {
   return request({
-    url: '/store/storeOrderItem',
+    url: '/store/store/storeOrderItem',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreOrderItem(data) {
 // 修改订单详情
 export function updateStoreOrderItem(data) {
   return request({
-    url: '/store/storeOrderItem',
+    url: '/store/store/storeOrderItem',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreOrderItem(data) {
 // 删除订单详情
 export function delStoreOrderItem(itemId) {
   return request({
-    url: '/store/storeOrderItem/' + itemId,
+    url: '/store/store/storeOrderItem/' + itemId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreOrderItem(itemId) {
 // 导出订单详情
 export function exportStoreOrderItem(query) {
   return request({
-    url: '/store/storeOrderItem/export',
+    url: '/store/store/storeOrderItem/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeOrderNotice.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询订单通知用户 接收订单通知的用户列表
 export function listStoreOrderNotice(query) {
   return request({
-    url: '/store/storeOrderNotice/list',
+    url: '/store/store/storeOrderNotice/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreOrderNotice(query) {
 // 查询订单通知用户 接收订单通知的用户详细
 export function getStoreOrderNotice(id) {
   return request({
-    url: '/store/storeOrderNotice/' + id,
+    url: '/store/store/storeOrderNotice/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreOrderNotice(id) {
 // 新增订单通知用户 接收订单通知的用户
 export function addStoreOrderNotice(data) {
   return request({
-    url: '/store/storeOrderNotice',
+    url: '/store/store/storeOrderNotice',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreOrderNotice(data) {
 // 修改订单通知用户 接收订单通知的用户
 export function updateStoreOrderNotice(data) {
   return request({
-    url: '/store/storeOrderNotice',
+    url: '/store/store/storeOrderNotice',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreOrderNotice(data) {
 // 删除订单通知用户 接收订单通知的用户
 export function delStoreOrderNotice(id) {
   return request({
-    url: '/store/storeOrderNotice/' + id,
+    url: '/store/store/storeOrderNotice/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreOrderNotice(id) {
 // 导出订单通知用户 接收订单通知的用户
 export function exportStoreOrderNotice(query) {
   return request({
-    url: '/store/storeOrderNotice/export',
+    url: '/store/store/storeOrderNotice/export',
     method: 'get',
     params: query
   })
-}
+}

+ 8 - 8
src/api/hisStore/storeOrderOffline.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询线下订单列表
 export function listStoreOrderOffline(query) {
   return request({
-    url: '/store/storeOrderOffline/list',
+    url: '/store/store/storeOrderOffline/list',
     method: 'get',
     params: query
   })
@@ -12,14 +12,14 @@ export function listStoreOrderOffline(query) {
 // 查询线下订单详细
 export function getStoreOrderOffline(orderId) {
   return request({
-    url: '/store/storeOrderOffline/' + orderId,
+    url: '/store/store/storeOrderOffline/' + orderId,
     method: 'get'
   })
 }
 //查看电话
 export function getPhone(orderId) {
   return request({
-    url: '/store/storeOrderOffline/queryPhone/' + orderId,
+    url: '/store/store/storeOrderOffline/queryPhone/' + orderId,
     method: 'get'
   })
 }
@@ -27,7 +27,7 @@ export function getPhone(orderId) {
 // 新增线下订单
 export function addStoreOrderOffline(data) {
   return request({
-    url: '/store/storeOrderOffline',
+    url: '/store/store/storeOrderOffline',
     method: 'post',
     data: data
   })
@@ -36,7 +36,7 @@ export function addStoreOrderOffline(data) {
 // 修改线下订单
 export function updateStoreOrderOffline(data) {
   return request({
-    url: '/store/storeOrderOffline',
+    url: '/store/store/storeOrderOffline',
     method: 'put',
     data: data
   })
@@ -45,7 +45,7 @@ export function updateStoreOrderOffline(data) {
 // 删除线下订单
 export function delStoreOrderOffline(orderId) {
   return request({
-    url: '/store/storeOrderOffline/' + orderId,
+    url: '/store/store/storeOrderOffline/' + orderId,
     method: 'delete'
   })
 }
@@ -53,7 +53,7 @@ export function delStoreOrderOffline(orderId) {
 // 导出线下订单
 export function exportStoreOrderOffline(query) {
   return request({
-    url: '/store/storeOrderOffline/export',
+    url: '/store/store/storeOrderOffline/export',
     method: 'get',
     params: query
   })
@@ -63,7 +63,7 @@ export function exportStoreOrderOffline(query) {
 //审核订单
 export function auditOrder(orderId) {
   return request({
-    url: '/store/storeOrderOffline/auditOrder/' + orderId,
+    url: '/store/store/storeOrderOffline/auditOrder/' + orderId,
     method: 'post',
   })
 }

+ 7 - 7
src/api/hisStore/storeOrderStatus.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询订单操作记录列表
 export function listStoreOrderStatus(query) {
   return request({
-    url: '/store/storeOrderStatus/list',
+    url: '/store/store/storeOrderStatus/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreOrderStatus(query) {
 // 查询订单操作记录详细
 export function getStoreOrderStatus(id) {
   return request({
-    url: '/store/storeOrderStatus/' + id,
+    url: '/store/store/storeOrderStatus/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreOrderStatus(id) {
 // 新增订单操作记录
 export function addStoreOrderStatus(data) {
   return request({
-    url: '/store/storeOrderStatus',
+    url: '/store/store/storeOrderStatus',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreOrderStatus(data) {
 // 修改订单操作记录
 export function updateStoreOrderStatus(data) {
   return request({
-    url: '/store/storeOrderStatus',
+    url: '/store/store/storeOrderStatus',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreOrderStatus(data) {
 // 删除订单操作记录
 export function delStoreOrderStatus(id) {
   return request({
-    url: '/store/storeOrderStatus/' + id,
+    url: '/store/store/storeOrderStatus/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreOrderStatus(id) {
 // 导出订单操作记录
 export function exportStoreOrderStatus(query) {
   return request({
-    url: '/store/storeOrderStatus/export',
+    url: '/store/store/storeOrderStatus/export',
     method: 'get',
     params: query
   })
-}
+}

+ 9 - 9
src/api/hisStore/storePayment.js

@@ -10,7 +10,7 @@ export function listStorePayment(query,refundDateRange) {
       query.refundEndTime =null;
     }
     return request({
-      url: '/store/storePayment/list',
+      url: '/store/store/storePayment/list',
       method: 'get',
       params: query
     })
@@ -19,7 +19,7 @@ export function listStorePayment(query,refundDateRange) {
 // 查询支付明细详细
 export function getStorePayment(paymentId) {
   return request({
-    url: '/store/storePayment/' + paymentId,
+    url: '/store/store/storePayment/' + paymentId,
     method: 'get'
   })
 }
@@ -27,7 +27,7 @@ export function getStorePayment(paymentId) {
 // 新增支付明细
 export function addStorePayment(data) {
   return request({
-    url: '/store/storePayment',
+    url: '/store/store/storePayment',
     method: 'post',
     data: data
   })
@@ -35,7 +35,7 @@ export function addStorePayment(data) {
 
 export function refundStorePayment(data) {
   return request({
-    url: '/store/storePayment/refundStorePayment',
+    url: '/store/store/storePayment/refundStorePayment',
     method: 'post',
     data: data
   })
@@ -45,7 +45,7 @@ export function refundStorePayment(data) {
 // 修改支付明细
 export function updateStorePayment(data) {
   return request({
-    url: '/store/storePayment',
+    url: '/store/store/storePayment',
     method: 'put',
     data: data
   })
@@ -54,7 +54,7 @@ export function updateStorePayment(data) {
 // 删除支付明细
 export function delStorePayment(paymentId) {
   return request({
-    url: '/store/storePayment/' + paymentId,
+    url: '/store/store/storePayment/' + paymentId,
     method: 'delete'
   })
 }
@@ -62,7 +62,7 @@ export function delStorePayment(paymentId) {
 // 导出支付明细
 export function exportStorePayment(query) {
   return request({
-    url: '/store/storePayment/export',
+    url: '/store/store/storePayment/export',
     method: 'get',
     params: query
   })
@@ -71,8 +71,8 @@ export function exportStorePayment(query) {
 //同步订单状态
 export function setPayNotify(data) {
   return request({
-    url: '/store/storePayment/returnPayStatus',
+    url: '/store/store/storePayment/returnPayStatus',
     method: 'post',
     data: data
   })
-}
+}

+ 19 - 11
src/api/hisStore/storeProduct.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品列表
 export function listStoreProduct(query) {
   return request({
-    url: '/store/storeProduct/list',
+    url: '/store/store/storeProduct/list',
     method: 'get',
     params: query
   })
@@ -11,7 +11,15 @@ export function listStoreProduct(query) {
 
 export function batchModify(param) {
   return request({
-    url: '/store/storeProduct/batchModify',
+    url: '/store/store/storeProduct/batchModify',
+    method: 'post',
+    data: param
+  })
+}
+
+export function batchAudit(param) {
+  return request({
+    url: '/store/store/storeProduct/batchAudit',
     method: 'post',
     data: param
   })
@@ -20,7 +28,7 @@ export function batchModify(param) {
 // 查询商品详细
 export function getStoreProduct(productId) {
   return request({
-    url: '/store/storeProduct/' + productId,
+    url: '/store/store/storeProduct/' + productId,
     method: 'get'
   })
 }
@@ -28,7 +36,7 @@ export function getStoreProduct(productId) {
 
 export function addOrEdit(data) {
   return request({
-    url: '/store/storeProduct/addOrEdit',
+    url: '/store/store/storeProduct/addOrEdit',
     method: 'post',
     data: data
   })
@@ -36,7 +44,7 @@ export function addOrEdit(data) {
 
 export function importTemplate() {
   return request({
-    url: '/store/storeProduct/importTemplate',
+    url: '/store/store/storeProduct/importTemplate',
     method: 'get'
   })
 }
@@ -45,7 +53,7 @@ export function importTemplate() {
 // 删除商品
 export function delStoreProduct(productId) {
   return request({
-    url: '/store/storeProduct/' + productId,
+    url: '/store/store/storeProduct/' + productId,
     method: 'delete'
   })
 }
@@ -53,7 +61,7 @@ export function delStoreProduct(productId) {
 // 导出商品
 export function exportStoreProduct(query) {
   return request({
-    url: '/store/storeProduct/export',
+    url: '/store/store/storeProduct/export',
     method: 'get',
     params: query
   })
@@ -61,7 +69,7 @@ export function exportStoreProduct(query) {
 
 export function genFormatAttr(productId,json) {
   return request({
-    url: '/store/storeProduct/genFormatAttr/'+productId,
+    url: '/store/store/storeProduct/genFormatAttr/'+productId,
     method: 'post',
     data: json
   })
@@ -70,7 +78,7 @@ export function genFormatAttr(productId,json) {
 
 export function getStoreProductAttrValueList(query) {
   return request({
-    url: '/store/storeProduct/getStoreProductAttrValueList',
+    url: '/store/store/storeProduct/getStoreProductAttrValueList',
     method: 'get',
     params: query
   })
@@ -79,7 +87,7 @@ export function getStoreProductAttrValueList(query) {
 
 export function getStoreTuiProductAttrValueList(query) {
   return request({
-    url: '/store/storeProduct/getStoreTuiProductAttrValueList',
+    url: '/store/store/storeProduct/getStoreTuiProductAttrValueList',
     method: 'get',
     params: query
   })
@@ -87,7 +95,7 @@ export function getStoreTuiProductAttrValueList(query) {
 
 export function productBySearCh(query) {
   return request({
-    url: '/store/storeProduct/listBySearch',
+    url: '/store/store/storeProduct/listBySearch',
     method: 'get',
     params: query
   })

+ 7 - 7
src/api/hisStore/storeProductAttr.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品属性列表
 export function listStoreProductAttr(query) {
   return request({
-    url: '/store/storeProductAttr/list',
+    url: '/store/store/storeProductAttr/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductAttr(query) {
 // 查询商品属性详细
 export function getStoreProductAttr(id) {
   return request({
-    url: '/store/storeProductAttr/' + id,
+    url: '/store/store/storeProductAttr/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductAttr(id) {
 // 新增商品属性
 export function addStoreProductAttr(data) {
   return request({
-    url: '/store/storeProductAttr',
+    url: '/store/store/storeProductAttr',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductAttr(data) {
 // 修改商品属性
 export function updateStoreProductAttr(data) {
   return request({
-    url: '/store/storeProductAttr',
+    url: '/store/store/storeProductAttr',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductAttr(data) {
 // 删除商品属性
 export function delStoreProductAttr(id) {
   return request({
-    url: '/store/storeProductAttr/' + id,
+    url: '/store/store/storeProductAttr/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreProductAttr(id) {
 // 导出商品属性
 export function exportStoreProductAttr(query) {
   return request({
-    url: '/store/storeProductAttr/export',
+    url: '/store/store/storeProductAttr/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeProductAttrValue.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品属性值列表
 export function listStoreProductAttrValue(query) {
   return request({
-    url: '/store/storeProductAttrValue/list',
+    url: '/store/store/storeProductAttrValue/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductAttrValue(query) {
 // 查询商品属性值详细
 export function getStoreProductAttrValue(id) {
   return request({
-    url: '/store/storeProductAttrValue/' + id,
+    url: '/store/store/storeProductAttrValue/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductAttrValue(id) {
 // 新增商品属性值
 export function addStoreProductAttrValue(data) {
   return request({
-    url: '/store/storeProductAttrValue',
+    url: '/store/store/storeProductAttrValue',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductAttrValue(data) {
 // 修改商品属性值
 export function updateStoreProductAttrValue(data) {
   return request({
-    url: '/store/storeProductAttrValue',
+    url: '/store/store/storeProductAttrValue',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductAttrValue(data) {
 // 删除商品属性值
 export function delStoreProductAttrValue(id) {
   return request({
-    url: '/store/storeProductAttrValue/' + id,
+    url: '/store/store/storeProductAttrValue/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreProductAttrValue(id) {
 // 导出商品属性值
 export function exportStoreProductAttrValue(query) {
   return request({
-    url: '/store/storeProductAttrValue/export',
+    url: '/store/store/storeProductAttrValue/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeProductCategory.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品分类列表
 export function listStoreProductCategory(query) {
   return request({
-    url: '/store/storeProductCategory/list',
+    url: '/store/store/storeProductCategory/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductCategory(query) {
 // 查询商品分类详细
 export function getStoreProductCategory(cateId) {
   return request({
-    url: '/store/storeProductCategory/' + cateId,
+    url: '/store/store/storeProductCategory/' + cateId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductCategory(cateId) {
 // 新增商品分类
 export function addStoreProductCategory(data) {
   return request({
-    url: '/store/storeProductCategory',
+    url: '/store/store/storeProductCategory',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductCategory(data) {
 // 修改商品分类
 export function updateStoreProductCategory(data) {
   return request({
-    url: '/store/storeProductCategory',
+    url: '/store/store/storeProductCategory',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductCategory(data) {
 // 删除商品分类
 export function delStoreProductCategory(cateId) {
   return request({
-    url: '/store/storeProductCategory/' + cateId,
+    url: '/store/store/storeProductCategory/' + cateId,
     method: 'delete'
   })
 }
@@ -46,14 +46,14 @@ export function delStoreProductCategory(cateId) {
 // 导出商品分类
 export function exportStoreProductCategory(query) {
   return request({
-    url: '/store/storeProductCategory/export',
+    url: '/store/store/storeProductCategory/export',
     method: 'get',
     params: query
   })
 }
 export function getAllStoreProductCategory() {
   return request({
-    url: '/store/storeProductCategory/getAllList' ,
+    url: '/store/store/storeProductCategory/getAllList' ,
     method: 'get'
   })
 }

+ 7 - 7
src/api/hisStore/storeProductDetails.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品详情列表
 export function listStoreProductDetails(query) {
   return request({
-    url: '/store/storeProductDetails/list',
+    url: '/store/store/storeProductDetails/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductDetails(query) {
 // 查询商品详情详细
 export function getStoreProductDetails(detailsId) {
   return request({
-    url: '/store/storeProductDetails/' + detailsId,
+    url: '/store/store/storeProductDetails/' + detailsId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductDetails(detailsId) {
 // 新增商品详情
 export function addStoreProductDetails(data) {
   return request({
-    url: '/store/storeProductDetails',
+    url: '/store/store/storeProductDetails',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductDetails(data) {
 // 修改商品详情
 export function updateStoreProductDetails(data) {
   return request({
-    url: '/store/storeProductDetails',
+    url: '/store/store/storeProductDetails',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductDetails(data) {
 // 删除商品详情
 export function delStoreProductDetails(detailsId) {
   return request({
-    url: '/store/storeProductDetails/' + detailsId,
+    url: '/store/store/storeProductDetails/' + detailsId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreProductDetails(detailsId) {
 // 导出商品详情
 export function exportStoreProductDetails(query) {
   return request({
-    url: '/store/storeProductDetails/export',
+    url: '/store/store/storeProductDetails/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeProductGroup.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品组合列表
 export function listStoreProductGroup(query) {
   return request({
-    url: '/store/storeProductGroup/list',
+    url: '/store/store/storeProductGroup/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductGroup(query) {
 // 查询商品组合详细
 export function getStoreProductGroup(groupId) {
   return request({
-    url: '/store/storeProductGroup/' + groupId,
+    url: '/store/store/storeProductGroup/' + groupId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductGroup(groupId) {
 // 新增商品组合
 export function addStoreProductGroup(data) {
   return request({
-    url: '/store/storeProductGroup',
+    url: '/store/store/storeProductGroup',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductGroup(data) {
 // 修改商品组合
 export function updateStoreProductGroup(data) {
   return request({
-    url: '/store/storeProductGroup',
+    url: '/store/store/storeProductGroup',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductGroup(data) {
 // 删除商品组合
 export function delStoreProductGroup(groupId) {
   return request({
-    url: '/store/storeProductGroup/' + groupId,
+    url: '/store/store/storeProductGroup/' + groupId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreProductGroup(groupId) {
 // 导出商品组合
 export function exportStoreProductGroup(query) {
   return request({
-    url: '/store/storeProductGroup/export',
+    url: '/store/store/storeProductGroup/export',
     method: 'get',
     params: query
   })
-}
+}

+ 8 - 8
src/api/hisStore/storeProductPackage.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品组合套餐列表
 export function listStoreProductPackage(query) {
   return request({
-    url: '/store/storeProductPackage/list',
+    url: '/store/store/storeProductPackage/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductPackage(query) {
 // 查询商品组合套餐详细
 export function getStoreProductPackage(packageId) {
   return request({
-    url: '/store/storeProductPackage/' + packageId,
+    url: '/store/store/storeProductPackage/' + packageId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductPackage(packageId) {
 // 新增商品组合套餐
 export function addStoreProductPackage(data) {
   return request({
-    url: '/store/storeProductPackage',
+    url: '/store/store/storeProductPackage',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductPackage(data) {
 // 修改商品组合套餐
 export function updateStoreProductPackage(data) {
   return request({
-    url: '/store/storeProductPackage',
+    url: '/store/store/storeProductPackage',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductPackage(data) {
 // 删除商品组合套餐
 export function delStoreProductPackage(packageId) {
   return request({
-    url: '/store/storeProductPackage/' + packageId,
+    url: '/store/store/storeProductPackage/' + packageId,
     method: 'delete'
   })
 }
@@ -46,7 +46,7 @@ export function delStoreProductPackage(packageId) {
 // 导出商品组合套餐
 export function exportStoreProductPackage(query) {
   return request({
-    url: '/store/storeProductPackage/export',
+    url: '/store/store/storeProductPackage/export',
     method: 'get',
     params: query
   })
@@ -56,7 +56,7 @@ export function exportStoreProductPackage(query) {
 // 批量修改商品组合套餐
 export function modifyStoreProductPackages(data) {
   return request({
-    url: '/store/storeProductPackage/modifyMore',
+    url: '/store/store/storeProductPackage/modifyMore',
     method: 'post',
     data: data
   })
@@ -64,7 +64,7 @@ export function modifyStoreProductPackages(data) {
 
 export function packageBySearch(query) {
   return request({
-    url: '/store/storeProductPackage/listBySearch',
+    url: '/store/store/storeProductPackage/listBySearch',
     method: 'get',
     params: query
   })

+ 7 - 7
src/api/hisStore/storeProductRelation.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品点赞和收藏列表
 export function listStoreProductRelation(query) {
   return request({
-    url: '/store/storeProductRelation/list',
+    url: '/store/store/storeProductRelation/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductRelation(query) {
 // 查询商品点赞和收藏详细
 export function getStoreProductRelation(id) {
   return request({
-    url: '/store/storeProductRelation/' + id,
+    url: '/store/store/storeProductRelation/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductRelation(id) {
 // 新增商品点赞和收藏
 export function addStoreProductRelation(data) {
   return request({
-    url: '/store/storeProductRelation',
+    url: '/store/store/storeProductRelation',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductRelation(data) {
 // 修改商品点赞和收藏
 export function updateStoreProductRelation(data) {
   return request({
-    url: '/store/storeProductRelation',
+    url: '/store/store/storeProductRelation',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductRelation(data) {
 // 删除商品点赞和收藏
 export function delStoreProductRelation(id) {
   return request({
-    url: '/store/storeProductRelation/' + id,
+    url: '/store/store/storeProductRelation/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreProductRelation(id) {
 // 导出商品点赞和收藏
 export function exportStoreProductRelation(query) {
   return request({
-    url: '/store/storeProductRelation/export',
+    url: '/store/store/storeProductRelation/export',
     method: 'get',
     params: query
   })
-}
+}

+ 8 - 8
src/api/hisStore/storeProductReply.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询评论列表
 export function listStoreProductReply(query) {
   return request({
-    url: '/store/storeProductReply/list',
+    url: '/store/store/storeProductReply/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductReply(query) {
 // 查询评论详细
 export function getStoreProductReply(id) {
   return request({
-    url: '/store/storeProductReply/' + id,
+    url: '/store/store/storeProductReply/' + id,
     method: 'get'
   })
 }
@@ -20,14 +20,14 @@ export function getStoreProductReply(id) {
 // 新增评论
 export function addStoreProductReply(data) {
   return request({
-    url: '/store/storeProductReply',
+    url: '/store/store/storeProductReply',
     method: 'post',
     data: data
   })
 }
 export function replyStoreProductReply(data) {
   return request({
-    url: '/store/storeProductReply/reply',
+    url: '/store/store/storeProductReply/reply',
     method: 'post',
     data: data
   })
@@ -38,7 +38,7 @@ export function replyStoreProductReply(data) {
 // 修改评论
 export function updateStoreProductReply(data) {
   return request({
-    url: '/store/storeProductReply',
+    url: '/store/store/storeProductReply',
     method: 'put',
     data: data
   })
@@ -47,7 +47,7 @@ export function updateStoreProductReply(data) {
 // 删除评论
 export function delStoreProductReply(id) {
   return request({
-    url: '/store/storeProductReply/' + id,
+    url: '/store/store/storeProductReply/' + id,
     method: 'delete'
   })
 }
@@ -55,8 +55,8 @@ export function delStoreProductReply(id) {
 // 导出评论
 export function exportStoreProductReply(query) {
   return request({
-    url: '/store/storeProductReply/export',
+    url: '/store/store/storeProductReply/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeProductRule.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品规则值(规格)列表
 export function listStoreProductRule(query) {
   return request({
-    url: '/store/storeProductRule/list',
+    url: '/store/store/storeProductRule/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductRule(query) {
 // 查询商品规则值(规格)详细
 export function getStoreProductRule(id) {
   return request({
-    url: '/store/storeProductRule/' + id,
+    url: '/store/store/storeProductRule/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductRule(id) {
 // 新增商品规则值(规格)
 export function addStoreProductRule(data) {
   return request({
-    url: '/store/storeProductRule',
+    url: '/store/store/storeProductRule',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductRule(data) {
 // 修改商品规则值(规格)
 export function updateStoreProductRule(data) {
   return request({
-    url: '/store/storeProductRule',
+    url: '/store/store/storeProductRule',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductRule(data) {
 // 删除商品规则值(规格)
 export function delStoreProductRule(id) {
   return request({
-    url: '/store/storeProductRule/' + id,
+    url: '/store/store/storeProductRule/' + id,
     method: 'delete'
   })
 }
@@ -46,7 +46,7 @@ export function delStoreProductRule(id) {
 // 导出商品规则值(规格)
 export function exportStoreProductRule(query) {
   return request({
-    url: '/store/storeProductRule/export',
+    url: '/store/store/storeProductRule/export',
     method: 'get',
     params: query
   })
@@ -55,7 +55,7 @@ export function exportStoreProductRule(query) {
 
 export function getAllStoreProductRule() {
   return request({
-    url: '/store/storeProductRule/getAllList',
+    url: '/store/store/storeProductRule/getAllList',
     method: 'get'
   })
 }

+ 7 - 7
src/api/hisStore/storeProductTemplate.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品模板列表
 export function listStoreProductTemplate(query) {
   return request({
-    url: '/store/storeProductTemplate/list',
+    url: '/store/store/storeProductTemplate/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductTemplate(query) {
 // 查询商品模板详细
 export function getStoreProductTemplate(tempId) {
   return request({
-    url: '/store/storeProductTemplate/' + tempId,
+    url: '/store/store/storeProductTemplate/' + tempId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductTemplate(tempId) {
 // 新增商品模板
 export function addStoreProductTemplate(data) {
   return request({
-    url: '/store/storeProductTemplate',
+    url: '/store/store/storeProductTemplate',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductTemplate(data) {
 // 修改商品模板
 export function updateStoreProductTemplate(data) {
   return request({
-    url: '/store/storeProductTemplate',
+    url: '/store/store/storeProductTemplate',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductTemplate(data) {
 // 删除商品模板
 export function delStoreProductTemplate(tempId) {
   return request({
-    url: '/store/storeProductTemplate/' + tempId,
+    url: '/store/store/storeProductTemplate/' + tempId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreProductTemplate(tempId) {
 // 导出商品模板
 export function exportStoreProductTemplate(query) {
   return request({
-    url: '/store/storeProductTemplate/export',
+    url: '/store/store/storeProductTemplate/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeProductYuyue.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询商品预约列表
 export function listStoreProductYuyue(query) {
   return request({
-    url: '/store/storeProductYuyue/list',
+    url: '/store/store/storeProductYuyue/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreProductYuyue(query) {
 // 查询商品预约详细
 export function getStoreProductYuyue(id) {
   return request({
-    url: '/store/storeProductYuyue/' + id,
+    url: '/store/store/storeProductYuyue/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreProductYuyue(id) {
 // 新增商品预约
 export function addStoreProductYuyue(data) {
   return request({
-    url: '/store/storeProductYuyue',
+    url: '/store/store/storeProductYuyue',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreProductYuyue(data) {
 // 修改商品预约
 export function updateStoreProductYuyue(data) {
   return request({
-    url: '/store/storeProductYuyue',
+    url: '/store/store/storeProductYuyue',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreProductYuyue(data) {
 // 删除商品预约
 export function delStoreProductYuyue(id) {
   return request({
-    url: '/store/storeProductYuyue/' + id,
+    url: '/store/store/storeProductYuyue/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreProductYuyue(id) {
 // 导出商品预约
 export function exportStoreProductYuyue(query) {
   return request({
-    url: '/store/storeProductYuyue/export',
+    url: '/store/store/storeProductYuyue/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeShop.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询门店自提列表
 export function listStoreShop(query) {
   return request({
-    url: '/store/storeShop/list',
+    url: '/store/store/storeShop/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreShop(query) {
 // 查询门店自提详细
 export function getStoreShop(id) {
   return request({
-    url: '/store/storeShop/' + id,
+    url: '/store/store/storeShop/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreShop(id) {
 // 新增门店自提
 export function addStoreShop(data) {
   return request({
-    url: '/store/storeShop',
+    url: '/store/store/storeShop',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreShop(data) {
 // 修改门店自提
 export function updateStoreShop(data) {
   return request({
-    url: '/store/storeShop',
+    url: '/store/store/storeShop',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreShop(data) {
 // 删除门店自提
 export function delStoreShop(id) {
   return request({
-    url: '/store/storeShop/' + id,
+    url: '/store/store/storeShop/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreShop(id) {
 // 导出门店自提
 export function exportStoreShop(query) {
   return request({
-    url: '/store/storeShop/export',
+    url: '/store/store/storeShop/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeShopStaff.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询门店店员列表
 export function listStoreShopStaff(query) {
   return request({
-    url: '/store/storeShopStaff/list',
+    url: '/store/store/storeShopStaff/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreShopStaff(query) {
 // 查询门店店员详细
 export function getStoreShopStaff(id) {
   return request({
-    url: '/store/storeShopStaff/' + id,
+    url: '/store/store/storeShopStaff/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreShopStaff(id) {
 // 新增门店店员
 export function addStoreShopStaff(data) {
   return request({
-    url: '/store/storeShopStaff',
+    url: '/store/store/storeShopStaff',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreShopStaff(data) {
 // 修改门店店员
 export function updateStoreShopStaff(data) {
   return request({
-    url: '/store/storeShopStaff',
+    url: '/store/store/storeShopStaff',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreShopStaff(data) {
 // 删除门店店员
 export function delStoreShopStaff(id) {
   return request({
-    url: '/store/storeShopStaff/' + id,
+    url: '/store/store/storeShopStaff/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreShopStaff(id) {
 // 导出门店店员
 export function exportStoreShopStaff(query) {
   return request({
-    url: '/store/storeShopStaff/export',
+    url: '/store/store/storeShopStaff/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/storeVisit.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询产品浏览分析列表
 export function listStoreVisit(query) {
   return request({
-    url: '/store/storeVisit/list',
+    url: '/store/store/storeVisit/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listStoreVisit(query) {
 // 查询产品浏览分析详细
 export function getStoreVisit(id) {
   return request({
-    url: '/store/storeVisit/' + id,
+    url: '/store/store/storeVisit/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getStoreVisit(id) {
 // 新增产品浏览分析
 export function addStoreVisit(data) {
   return request({
-    url: '/store/storeVisit',
+    url: '/store/store/storeVisit',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addStoreVisit(data) {
 // 修改产品浏览分析
 export function updateStoreVisit(data) {
   return request({
-    url: '/store/storeVisit',
+    url: '/store/store/storeVisit',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateStoreVisit(data) {
 // 删除产品浏览分析
 export function delStoreVisit(id) {
   return request({
-    url: '/store/storeVisit/' + id,
+    url: '/store/store/storeVisit/' + id,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delStoreVisit(id) {
 // 导出产品浏览分析
 export function exportStoreVisit(query) {
   return request({
-    url: '/store/storeVisit/export',
+    url: '/store/store/storeVisit/export',
     method: 'get',
     params: query
   })
-}
+}

+ 7 - 7
src/api/hisStore/testReport.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询测试报告列表
 export function listTestReport(query) {
   return request({
-    url: '/his/testReport/list',
+    url: '/store/his/testReport/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listTestReport(query) {
 // 查询测试报告详细
 export function getTestReport(reportId) {
   return request({
-    url: '/his/testReport/' + reportId,
+    url: '/store/his/testReport/' + reportId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getTestReport(reportId) {
 // 新增测试报告
 export function addTestReport(data) {
   return request({
-    url: '/his/testReport',
+    url: '/store/his/testReport',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addTestReport(data) {
 // 修改测试报告
 export function updateTestReport(data) {
   return request({
-    url: '/his/testReport',
+    url: '/store/his/testReport',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateTestReport(data) {
 // 删除测试报告
 export function delTestReport(reportId) {
   return request({
-    url: '/his/testReport/' + reportId,
+    url: '/store/his/testReport/' + reportId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delTestReport(reportId) {
 // 导出测试报告
 export function exportTestReport(query) {
   return request({
-    url: '/his/testReport/export',
+    url: '/store/his/testReport/export',
     method: 'get',
     params: query
   })
-}
+}

+ 8 - 8
src/api/hisStore/testTemp.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询测一测模板列表
 export function listTestTemp(query) {
   return request({
-    url: '/his/testTemp/list',
+    url: '/store/his/testTemp/list',
     method: 'get',
     params: query
   })
@@ -12,19 +12,19 @@ export function listTestTemp(query) {
 // 查询测一测模板详细
 export function getTempType(tempId) {
   return request({
-    url: '/his/testTemp/getTempType/' + tempId,
+    url: '/store/his/testTemp/getTempType/' + tempId,
     method: 'get'
   })
 }
 export function getTestTemp(tempId) {
   return request({
-    url: '/his/testTemp/' + tempId,
+    url: '/store/his/testTemp/' + tempId,
     method: 'get'
   })
 }
 export function getAllTestTemp() {
   return request({
-    url: '/his/testTemp/allList',
+    url: '/store/his/testTemp/allList',
     method: 'get'
   })
 }
@@ -32,7 +32,7 @@ export function getAllTestTemp() {
 // 新增测一测模板
 export function addTestTemp(data) {
   return request({
-    url: '/his/testTemp',
+    url: '/store/his/testTemp',
     method: 'post',
     data: data
   })
@@ -41,7 +41,7 @@ export function addTestTemp(data) {
 // 修改测一测模板
 export function updateTestTemp(data) {
   return request({
-    url: '/his/testTemp',
+    url: '/store/his/testTemp',
     method: 'put',
     data: data
   })
@@ -50,7 +50,7 @@ export function updateTestTemp(data) {
 // 删除测一测模板
 export function delTestTemp(tempId) {
   return request({
-    url: '/his/testTemp/' + tempId,
+    url: '/store/his/testTemp/' + tempId,
     method: 'delete'
   })
 }
@@ -58,7 +58,7 @@ export function delTestTemp(tempId) {
 // 导出测一测模板
 export function exportTestTemp(query) {
   return request({
-    url: '/his/testTemp/export',
+    url: '/store/his/testTemp/export',
     method: 'get',
     params: query
   })

+ 7 - 7
src/api/hisStore/testTempItem.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询模板项目列表
 export function listTestTempItem(query) {
   return request({
-    url: '/his/testTempItem/list',
+    url: '/store/his/testTempItem/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listTestTempItem(query) {
 // 查询模板项目详细
 export function getTestTempItem(itemId) {
   return request({
-    url: '/his/testTempItem/' + itemId,
+    url: '/store/his/testTempItem/' + itemId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getTestTempItem(itemId) {
 // 新增模板项目
 export function addTestTempItem(data) {
   return request({
-    url: '/his/testTempItem',
+    url: '/store/his/testTempItem',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addTestTempItem(data) {
 // 修改模板项目
 export function updateTestTempItem(data) {
   return request({
-    url: '/his/testTempItem',
+    url: '/store/his/testTempItem',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateTestTempItem(data) {
 // 删除模板项目
 export function delTestTempItem(itemId) {
   return request({
-    url: '/his/testTempItem/' + itemId,
+    url: '/store/his/testTempItem/' + itemId,
     method: 'delete'
   })
 }
@@ -46,8 +46,8 @@ export function delTestTempItem(itemId) {
 // 导出模板项目
 export function exportTestTempItem(query) {
   return request({
-    url: '/his/testTempItem/export',
+    url: '/store/his/testTempItem/export',
     method: 'get',
     params: query
   })
-}
+}

+ 14 - 14
src/api/hisStore/user.js

@@ -3,14 +3,14 @@ import request from '@/utils/request'
 // 查询用户列表
 export function listUser(query) {
   return request({
-    url: '/store/user/list',
+    url: '/store/store/user/list',
     method: 'get',
     params: query
   })
 }
 export function listUserByProject(query) {
   return request({
-    url: '/store/user/listProject',
+    url: '/store/store/user/listProject',
     method: 'get',
     params: query
   })
@@ -19,7 +19,7 @@ export function listUserByProject(query) {
 // 查询用户详细
 export function getUser(userId) {
   return request({
-    url: '/store/user/' + userId,
+    url: '/store/store/user/' + userId,
     method: 'get'
   })
 }
@@ -27,7 +27,7 @@ export function getUser(userId) {
 // 查询用户详细
 export function queryUserVo(userId) {
   return request({
-    url: '/store/user/queryvo/' + userId,
+    url: '/store/store/user/queryvo/' + userId,
     method: 'get'
   })
 }
@@ -35,7 +35,7 @@ export function queryUserVo(userId) {
 // 新增用户
 export function addUser(data) {
   return request({
-    url: '/store/user',
+    url: '/store/store/user',
     method: 'post',
     data: data
   })
@@ -44,7 +44,7 @@ export function addUser(data) {
 // 修改用户
 export function updateUser(data) {
   return request({
-    url: '/store/user',
+    url: '/store/store/user',
     method: 'put',
     data: data
   })
@@ -53,14 +53,14 @@ export function updateUser(data) {
 // 删除用户
 export function delUser(userId) {
   return request({
-    url: '/store/user/' + userId,
+    url: '/store/store/user/' + userId,
     method: 'delete'
   })
 }
 // 删除用户
 export function delUserCompanyUser(id) {
   return request({
-    url: '/store/user/delete/' + id,
+    url: '/store/store/user/delete/' + id,
     method: 'delete'
   })
 }
@@ -68,7 +68,7 @@ export function delUserCompanyUser(id) {
 // 导出用户
 export function exportUser(query) {
   return request({
-    url: '/store/user/export',
+    url: '/store/store/user/export',
     method: 'get',
     params: query
   })
@@ -76,7 +76,7 @@ export function exportUser(query) {
 
 export function getUserList(query) {
   return request({
-    url: '/store/user/getUserList',
+    url: '/store/store/user/getUserList',
     method: 'get',
     params: query
   })
@@ -84,7 +84,7 @@ export function getUserList(query) {
 
 export function listBySearch(query) {
   return request({
-    url: '/store/user/listBySearch',
+    url: '/store/store/user/listBySearch',
     method: 'get',
     params: query
   })
@@ -92,7 +92,7 @@ export function listBySearch(query) {
 
 export function getAllUserListLimit(query) {
   return request({
-    url: '/company/companyUser/getAllUserListLimit',
+    url: '/store/company/companyUser/getAllUserListLimit',
     method: 'get',
     params: query
   })
@@ -101,7 +101,7 @@ export function getAllUserListLimit(query) {
 // 获取小黑屋用户列表
 export function darkRoomList(query) {
   return request({
-    url: '/store/user/darkRoomList',
+    url: '/store/store/user/darkRoomList',
     method: 'get',
     params: query
   })
@@ -110,7 +110,7 @@ export function darkRoomList(query) {
 // 批量解禁
 export function enabledUsers(data) {
   return request({
-    url: '/store/user/enabledUsers',
+    url: '/store/store/user/enabledUsers',
     method: 'post',
     data: data
   })

+ 8 - 8
src/api/hisStore/userAddress.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询用户地址列表
 export function listUserAddress(query) {
   return request({
-    url: '/store/userAddress/list',
+    url: '/store/store/userAddress/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listUserAddress(query) {
 // 查询用户地址详细
 export function getUserAddress(id) {
   return request({
-    url: '/store/userAddress/' + id,
+    url: '/store/store/userAddress/' + id,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getUserAddress(id) {
 // 新增用户地址
 export function addUserAddress(data) {
   return request({
-    url: '/store/userAddress',
+    url: '/store/store/userAddress',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addUserAddress(data) {
 // 修改用户地址
 export function updateUserAddress(data) {
   return request({
-    url: '/store/userAddress',
+    url: '/store/store/userAddress',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateUserAddress(data) {
 // 删除用户地址
 export function delUserAddress(id) {
   return request({
-    url: '/store/userAddress/' + id,
+    url: '/store/store/userAddress/' + id,
     method: 'delete'
   })
 }
@@ -46,7 +46,7 @@ export function delUserAddress(id) {
 // 导出用户地址
 export function exportUserAddress(query) {
   return request({
-    url: '/store/userAddress/export',
+    url: '/store/store/userAddress/export',
     method: 'get',
     params: query
   })
@@ -54,8 +54,8 @@ export function exportUserAddress(query) {
 
 export function getAddressList(query) {
   return request({
-    url: '/store/userAddress/getAddressList',
+    url: '/store/store/userAddress/getAddressList',
     method: 'get',
     params: query
   })
-}
+}

+ 9 - 9
src/api/hisStore/vessel.js

@@ -3,14 +3,14 @@ import request from '@/utils/request'
 // 查询经络管理列表
 export function listVessel(query) {
   return request({
-    url: '/his/vessel/list',
+    url: '/store/his/vessel/list',
     method: 'get',
     params: query
   })
 }
 export function getAllList() {
   return request({
-    url: '/his/vessel/allList',
+    url: '/store/his/vessel/allList',
     method: 'get'
   })
 }
@@ -18,21 +18,21 @@ export function getAllList() {
 // 查询经络管理详细
 export function getVessel(id) {
   return request({
-    url: '/his/vessel/' + id,
+    url: '/store/his/vessel/' + id,
     method: 'get'
   })
 }
 // 下载导入模板
 export function importTemplate() {
   return request({
-    url: '/his/questions/importTemplate',
+    url: '/store/his/questions/importTemplate',
     method: 'get'
   })
 }
 // 新增经络管理
 export function addVessel(data) {
   return request({
-    url: '/his/vessel',
+    url: '/store/his/vessel',
     method: 'post',
     data: data
   })
@@ -41,7 +41,7 @@ export function addVessel(data) {
 // 修改经络管理
 export function updateVessel(data) {
   return request({
-    url: '/his/vessel',
+    url: '/store/his/vessel',
     method: 'put',
     data: data
   })
@@ -50,7 +50,7 @@ export function updateVessel(data) {
 // 删除经络管理
 export function delVessel(id) {
   return request({
-    url: '/his/vessel/' + id,
+    url: '/store/his/vessel/' + id,
     method: 'delete'
   })
 }
@@ -58,8 +58,8 @@ export function delVessel(id) {
 // 导出经络管理
 export function exportVessel(query) {
   return request({
-    url: '/his/vessel/export',
+    url: '/store/his/vessel/export',
     method: 'get',
     params: query
   })
-}
+}

+ 0 - 5
src/permission.js

@@ -11,11 +11,6 @@ const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
 
 router.beforeEach((to, from, next) => {
 
-  if(to.path.includes('/hisStore')){
-    sessionStorage.setItem('hisStore',"1");
-  }else{
-    sessionStorage.setItem('hisStore',"0");
-  }
 
   NProgress.start()
   if (getToken()) {

+ 0 - 7
src/utils/request.js

@@ -14,13 +14,6 @@ const service = axios.create({
 })
 // request拦截器
 service.interceptors.request.use(config => {
-  //判断APP商城请求
-  if(sessionStorage.getItem('hisStore') === '1'
-    && (config.url.includes('store') || config.url.includes('order'))
-    && (config.url.indexOf('/system/dict/data/type') === -1)
-  ){
-    config.url = '/store' + config.url;
-  }
 
   //判断watch请求
   if(config.url.indexOf('/watch-api') == -1){

+ 8 - 3
src/views/course/userCourse/public.vue

@@ -473,6 +473,7 @@ export default {
   },
   data() {
     return {
+      isRequireTalentId:process.env.VUE_APP_TITLE_INDEX !== '存在文化互联网医院',
       talentParam: {
         phone: null,
         talentId: null
@@ -548,9 +549,9 @@ export default {
         imgUrl: [
           {required: true, message: "封面图片不能为空", trigger: "blur"}
         ],
-        // talentId: [
-        //   {required: true, message: "关联达人不能为空", trigger: "blur"}
-        // ],
+        /* talentId: [
+          {required: this.isRequireTalentId, message: "关联达人不能为空", trigger: "blur"}
+        ], */
         isTui: [
           {required: true, message: "是否推荐不能为空", trigger: "blur"}
         ],
@@ -815,6 +816,10 @@ export default {
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {
+        /* if(this.isRequireTalentId && !this.talentParam.talentId){
+            this.msgError("请关联达人");
+            return;
+        } */
         if (valid) {
           if (this.tags.length > 0) {
             this.form.tags = this.tags.toString();

+ 211 - 0
src/views/hisStore/components/storeDetails.vue

@@ -0,0 +1,211 @@
+<template>
+  <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
+    <div style="padding: 20px; background-color: #fff;">
+      店铺详情
+    </div>
+    <div class="content" v-if="item!=null">
+      <div class="desct">
+        店铺信息
+      </div>
+      <el-descriptions title="" :column="3" border>
+        <el-descriptions-item label="店铺名称" >
+          <span v-if="item!=null">{{item.storeName}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="店铺介绍" >
+          <span v-if="item!=null">{{item.descs}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="店铺LOGO" >
+          <el-image
+            style="width: 100px"
+            :src="item.logoUrl"
+            :preview-src-list="[item.logoUrl]">
+          </el-image>
+        </el-descriptions-item>
+        <el-descriptions-item label="地址" >
+          <span v-if="item!=null">{{item.address}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="店铺电话" >
+          <span v-if="item!=null">{{item.phone}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="资质证书">
+          <el-image
+            style="width: 100px"
+            :src="item.licenseImages"
+            :preview-src-list="[item.licenseImages]">
+          </el-image>
+        </el-descriptions-item>
+        <el-descriptions-item label="商品总数" >
+          <span v-if="item!=null">{{item.productCount}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="状态" >
+          <dict-tag :options="statusOptions" :value="item.status"/>
+        </el-descriptions-item>
+        <el-descriptions-item label="销量" >
+          <span v-if="item!=null">{{item.salesCount}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="余额" >
+          <span v-if="item!=null">{{item.balance}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="累计金额" >
+          <span v-if="item!=null">{{item.totalMoney}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="审核状态" >
+          <dict-tag :options="isAuditOptions" :value="item.isAudit"/>
+        </el-descriptions-item>
+        <el-descriptions-item label="登录帐号" >
+          <span v-if="item!=null">{{item.account}}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="创建时间" >
+          <span v-if="item!=null">{{item.createTime}}</span>
+        </el-descriptions-item>
+
+        <el-descriptions-item label="更新时间" >
+          <span v-if="item!=null">{{item.updateTime}}</span>
+        </el-descriptions-item>
+
+
+
+      </el-descriptions>
+      <div v-if="item.isAudit===0" class="dialog">
+        <el-divider content-position="left">审核</el-divider>
+        <el-form ref="form1" :model="form1" :rules="rules1" label-width="80px">
+          <el-form-item label="审核理由" prop="reason">
+            <el-input v-model="form1.reason" type="textarea" placeholder="请输入审核理由" />
+          </el-form-item>
+          <el-form-item label="图片说明" prop="attachment">
+            <ImageUpload  v-model="form1.attachImage" type="image" :limit=5 :width="150"
+                          :height="150"/>
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="handleUpdate(1)">审核通过</el-button>
+          <el-button type="primary" @click="handleUpdate(-1)">审核退回</el-button>
+        </div>
+      </div>
+      <div v-if="item.isAudit!==0" class="dialog">
+        <el-divider content-position="left">审核记录</el-divider>
+        <el-table :data="item.auditLogs" border >
+          <el-table-column label="描述" align="center" prop="des" :show-overflow-tooltip="true" />
+          <el-table-column label="操作人员" align="center" prop="operName" width="100" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
+          <el-table-column label="操作日期" align="center" prop="operTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.operTime) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="审核理由" align="center" prop="reason" ></el-table-column>
+          <el-table-column label="图片" align="center" prop="attachImage" width="100" >
+            <template slot-scope="scope">
+              <el-image
+                style="width: 100px"
+                :src="scope.row.attachImage"
+                :preview-src-list="[scope.row.attachImage]"
+                v-if="scope.row.attachImage">
+              </el-image>
+              <span v-else >无图片</span >
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { audit, getStore, getStoreAuditLog } from '@/api/hisStore/store'
+export default {
+  name: "user",
+  props:["data"],
+  data() {
+    return {
+      statusOptions: [],
+      // 审核状态字典
+      isAuditOptions: [],
+      item:null,
+      logoUrl:[],
+      form: {
+        sreason: '',
+      },
+      form1: {},
+      rules1: {
+        auditReason: [
+          { required: true, message: "审核理由不能为空", trigger: "blur" }
+        ]
+      },
+    }
+  },
+  created() {
+    this.getDicts("sys_company_status").then(response => {
+      this.statusOptions = response.data;
+    });
+    this.getDicts("sys_company_isaudit").then(response => {
+      this.isAuditOptions = response.data;
+    });
+  },
+  destroyed() {
+    this.item = null;
+    this.form1 = {};
+  },
+  methods: {
+    getDetails(orderId) {
+      this.item = null;
+      Promise.all([getStore(orderId), getStoreAuditLog(orderId)])
+        .then(([storeResponse, auditResponse]) => {
+          this.item = storeResponse.data;
+          // 确保 item 不为 null 后再设置 auditLogs
+          this.$set(this.item, 'auditLogs', auditResponse.auditLog);
+        });
+    },
+    handleUpdate(oper) {
+      let operStr = oper === 1 ? "审核通过" : "审核退回";
+      this.$confirm("是否确认"+operStr+"店铺?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(()=> {
+        let param = {}
+        param.storeId = this.item.storeId;
+        param.reason = this.form1.reason;
+        param.attachImage = this.form1.attachImage;
+        param.isAudit=oper;
+        return audit(param);
+      }).then(res => {
+        if(res.code === 200){
+          this.$message.success("审核成功");
+          this.getDetails(this.item.storeId);
+          this.$emit('fresh');
+        }else{
+          this.$message.error("审核失败",res.msg);
+        }
+      }).catch(function() {
+
+      }).finally(()=>{
+        this.form1.auditReason = null;
+        this.form1.attachment = null;
+      });
+    },
+  }
+}
+</script>
+<style>
+.content{
+  height: 100%;
+  background-color: #fff;
+  padding: 0px 20px;
+  padding-bottom: 20px;
+  margin: 20px;
+}
+.el-descriptions-item__label.is-bordered-label{
+  font-weight: normal;
+}
+.el-descriptions-item__content {
+  max-width: 150px;
+  min-width: 100px;
+}
+.desct{
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: #524b4a;
+  font-weight: bold;
+}
+</style>

+ 437 - 0
src/views/hisStore/store/audit.vue

@@ -0,0 +1,437 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <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="地址" prop="address">
+        <el-input
+          v-model="queryParams.address"
+          placeholder="请输入地址"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="店铺电话" prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          placeholder="请输入店铺电话"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="登录帐号" prop="account">
+        <el-input
+          v-model="queryParams.account"
+          placeholder="请输入登录帐号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['his:store:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+    <el-tabs type="card" v-model="queryParams.isAudit" @tab-click="handleClickX">
+      <el-tab-pane v-for="(item,index) in isAuditOptions" :label="item.dictLabel" :name="item.dictValue"></el-tab-pane>
+    </el-tabs>
+    <el-table v-loading="loading" border :data="storeList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="店铺id" align="center" prop="storeId" width="120px"/>
+      <el-table-column label="店铺名称" align="center" prop="storeName" width="120px"/>
+      <el-table-column label="店铺LOGO" align="center" prop="logoUrl" width="100px">
+          <template slot-scope="scope">
+             <el-popover
+               placement="right"
+               title=""
+               trigger="hover">
+               <img slot="reference" :src="scope.row.logoUrl" width="80px">
+               <img :src="scope.row.logoUrl" style="max-width: 150px;">
+             </el-popover>
+          </template>
+      </el-table-column>
+      <el-table-column label="地址" align="center" prop="address" width="200px"/>
+      <el-table-column label="店铺电话" align="center" prop="phone" width="120px"/>
+      <el-table-column label="资质证书" align="center" prop="licenseImages" width="100px">
+        <template slot-scope="scope">
+                <el-popover
+                  placement="right"
+                  title=""
+                  trigger="hover">
+                  <img slot="reference" :src="scope.row.licenseImages" width="80px">
+                  <img :src="scope.row.licenseImages" style="max-width: 150px;">
+                </el-popover>
+              </template>
+      </el-table-column>
+      <el-table-column label="审核状态" align="center" prop="isAudit">
+        <template slot-scope="scope">
+          <dict-tag :options="isAuditOptions" :value="scope.row.isAudit"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="商品总数" align="center" prop="productCount" />
+      <el-table-column label="状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="statusOptions" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="销量" align="center" prop="salesCount" />
+      <el-table-column label="余额" align="center" prop="balance" />
+      <el-table-column label="累计金额" align="center" prop="totalMoney" />
+
+      <el-table-column label="登录帐号" align="center" prop="account" width="150px" />
+        <el-table-column label="创建时间" align="center" prop="createTime"  width="150px"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="130px">
+        <template slot-scope="scope">
+           <el-button
+                      size="mini"
+                      type="text"
+                      @click="handledetails(scope.row)"
+           >
+             <span v-if="scope.row.isAudit===0">审核</span>
+             <span v-else>详情</span>
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+
+      <el-drawer
+            :with-header="false"
+            size="75%"
+             :title="show.title" :visible.sync="show.open" >
+         <storeDetails  ref="Details" @fresh="getList" @showClose="this.show.open = false"/>
+       </el-drawer>
+
+  </div>
+
+
+</template>
+
+<script>
+import { audit,listStore, exportStore } from "@/api/hisStore/store";
+import storeDetails from '../components/storeDetails.vue';
+import {getCitys} from "@/api/store/city";
+export default {
+  name: "adutstore",
+  components: { storeDetails },
+  data() {
+    return {
+      show:{
+              title:"店铺详情",
+              open:false,
+            },
+
+      citys:[],
+      licenseuploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
+            uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
+            baseUrl: process.env.VUE_APP_BASE_API,
+      shippingTypeOptions: [{
+        "label": "配送",
+        "value": "1"
+      }, {
+        "label": "自提",
+        "value": "2"
+      }, {
+        "label": "配送自提",
+        "value": "3"
+      }],
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 店铺管理表格数据
+      storeList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 状态字典
+      statusOptions: [],
+      // 审核状态字典
+      isAuditOptions: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        storeName: null,
+        address: null,
+        phone: null,
+        status: null,
+        isAudit: 0,
+        account: null,
+      },
+
+
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        storeName: [
+         { required: true, message: "店铺名称不能为空", trigger: "blur" }
+       ],
+       logoUrl: [
+         { required: true, message: "店铺LOGO不能为空", trigger: "blur" }
+       ],
+       cityIds: [
+         { required: true, message: "所属城市不能为空", trigger: "blur" }
+       ],
+      address: [
+        { required: true, message: "地址不能为空", trigger: "blur" }
+      ],
+      licenseImages: [
+        { required: true, message: "资质证书不能为空", trigger: "blur" }
+      ],
+      shippingType: [
+        { required: true, message: "配送方式不能为空", trigger: "blur" }
+      ],
+      phone: [
+        { required: true, message: "店铺电话不能为空", trigger: "blur" }
+      ],
+      }
+    };
+  },
+  created() {
+      this.getCitys();
+    this.getList();
+    this.getDicts("sys_company_status").then(response => {
+      this.statusOptions = response.data;
+    });
+    this.getDicts("sys_company_isaudit").then(response => {
+      this.isAuditOptions = response.data;
+    });
+  },
+  methods: {
+    handleUpdate(row){
+        var that=this;
+        var the=null;
+         this.$confirm('是否确认审核?', "审核", {
+           distinguishCancelAndClose: true,
+           confirmButtonText: "确定",
+           cancelButtonText: "驳回",
+           type: "warning"
+         }).then(function() {
+           var data={
+          storeId:row.storeId,
+          isAudit:1
+              }
+           return audit(data);
+         }).then(() => {
+           this.msgSuccess("操作成功");
+              this.getList();
+         }).catch(function(action) {
+           if (action === 'cancel') {
+           var data={
+           storeId:row.storeId,
+           isAudit:-1
+               }
+          the='cancel';
+            return audit(data);
+            }
+         }).then(() => {
+           if(the==='cancel'){
+             this.msgSuccess("操作成功");
+                this.getList();
+           }
+
+         });
+},
+    handledetails(row){
+            this.show.open=true;
+            setTimeout(() => {
+                 this.$refs.Details.getDetails(row.storeId);
+            }, 1);
+        },
+
+    handleCityChange(value) {
+          var nodes=this.$refs.citySelect.getCheckedNodes();
+          this.form.address=nodes[0].pathLabels[0]+nodes[0].pathLabels[1]+nodes[0].pathLabels[2];
+          this.form.cityIds=value.toString();
+        },
+        getCitys(){
+            getCitys().then(res => {
+              this.loading = false;
+              this.citys=res.data;
+            })
+        },
+
+    licensehandleAvatarSuccess(res, file) {
+        if(res.code==200){
+          this.form.licenseImages=res.url;
+          this.$forceUpdate()
+        }
+        else{
+          this.msgError(res.msg);
+        }
+    },
+    handleAvatarSuccess(res, file) {
+            if(res.code==200){
+              this.form.logoUrl=res.url;
+              this.$forceUpdate()
+            }
+            else{
+              this.msgError(res.msg);
+            }
+      },
+    beforeAvatarUpload(file) {
+          const isLt1M = file.size / 1024 / 1024 < 1;
+          if (!isLt1M) {
+            this.$message.error('上传图片大小不能超过 1MB!');
+          }
+          return   isLt1M;
+        },
+    handleClickX(){
+        this.getList()
+    },
+    /** 查询店铺管理列表 */
+    getList() {
+      this.loading = true;
+      listStore(this.queryParams).then(response => {
+        this.storeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        storeId: null,
+        cityIds: null,
+        storeName: null,
+        descs: null,
+        logoUrl: null,
+        address: null,
+        lng: null,
+        lat: null,
+        phone: null,
+        licenseImages: null,
+        productCount: null,
+        status: 0,
+        createTime: null,
+        updateTime: null,
+        salesCount: null,
+        balance: null,
+        totalMoney: null,
+        isAudit: 0,
+        account: null,
+        password: null,
+        shippingType: ["1"]
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.storeId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+
+
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有店铺管理数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.exportLoading = true;
+          return exportStore(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+          this.exportLoading = false;
+        }).catch(() => {});
+    }
+  }
+};
+</script>
+<style>
+
+    .avatar-uploader .el-upload {
+       border: 1px dashed #d9d9d9;
+       border-radius: 6px;
+       cursor: pointer;
+       position: relative;
+       overflow: hidden;
+     }
+     .avatar-uploader .el-upload:hover {
+       border-color: #409EFF;
+     }
+
+     .avatar-uploader-icon {
+       font-size: 28px;
+       color: #8c939d;
+       width: 150px;
+       height: 150px;
+       line-height: 150px;
+       text-align: center;
+     }
+</style>

+ 342 - 0
src/views/hisStore/store/auditLog.vue

@@ -0,0 +1,342 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="系统模块" prop="title">
+        <el-input
+          v-model="queryParams.title"
+          placeholder="请输入系统模块"
+          clearable
+          style="width: 240px;"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作人员" prop="operName">
+        <el-input
+          v-model="queryParams.operName"
+          placeholder="请输入操作人员"
+          clearable
+          style="width: 240px;"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+<!--      <el-form-item label="状态" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="操作状态"
+          clearable
+          size="small"
+          style="width: 240px"
+        >
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>-->
+      <el-form-item label="主体类型" prop="mainType">
+        <el-radio-group v-model="queryParams.mainType" @change="getList()">
+          <el-radio-button label="店铺" >店铺</el-radio-button>
+          <el-radio-button label="商品" >商品</el-radio-button>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="主体名称" prop="mainId">
+          <el-select
+            v-model="queryParams.mainId"
+            filterable
+            remote
+          clearable
+          placeholder="请输入关键字搜索"
+          :remote-method="fetchMain"
+          :loading="loadingMain"
+          size="small"
+          style="width: 180px"
+          >
+          <el-option
+            v-for="company in mainOptions"
+            :key="company.id"
+            :label="company.name"
+            :value="company.id"
+          />
+          </el-select>
+      </el-form-item>
+      <el-form-item label="操作时间">
+        <el-date-picker
+          v-model="dateRange"
+          size="small"
+          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>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['his:storeLog:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="日志编号" align="center" prop="operId" />
+      <el-table-column label="主体名称" align="center" prop="mainName"/>
+      <el-table-column label="系统模块" align="center" prop="title" />
+      <el-table-column label="操作类型" align="center" prop="businessType">
+        <template slot-scope="scope">
+          <dict-tag :options="typeOptions" :value="scope.row.businessType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="描述" align="center" prop="des" :show-overflow-tooltip="true" />
+      <el-table-column label="操作人员" align="center" prop="operName" width="100" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
+      <el-table-column label="操作状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="statusOptions" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作日期" align="center" prop="operTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.operTime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="审核理由" align="center" prop="reason" ></el-table-column>
+      <el-table-column label="图片" align="center" prop="attachImage" width="235px" >
+        <template slot-scope="scope">
+          <div v-if="scope.row.attachImage">
+            <el-image
+              v-for="(img, index) in scope.row.attachImage.split(',')"
+              :key="index"      style="width: 100px; margin-right: 5px;"
+              :src="img"
+              :preview-src-list="scope.row.attachImage.split(',')"
+              fit="cover">
+            </el-image>
+          </div>
+          <span v-else >无图片</span >
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-view"
+            @click="handleView(scope.row,scope.index)"
+            v-hasPermi="['his:storeLog:list']"
+          >详细</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 操作日志详细 -->
+    <el-dialog title="操作日志详细" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" label-width="100px" size="mini">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="操作模块:">{{ form.title }} / {{ typeFormat(form) }}</el-form-item>
+            <el-form-item
+              label="登录信息:"
+            >{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item>
+            <el-form-item label="请求方式:">{{ form.requestMethod }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="操作方法:">{{ form.method }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="请求参数:">{{ form.operParam }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="返回参数:">{{ form.jsonResult }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="操作状态:">
+              <div v-if="form.status === 0">正常</div>
+              <div v-else-if="form.status === 1">失败</div>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
+          </el-col>
+
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="open = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { list, exportOperlog, getMains } from '@/api/hisStore/operlog'
+
+export default {
+  name: "Operlog",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 表格数据
+      list: [],
+      // 是否显示弹出层
+      open: false,
+      // 类型数据字典
+      typeOptions: [],
+      mainOptions: [],
+      // 类型数据字典
+      statusOptions: [],
+      // 日期范围
+      dateRange: [],
+      loadingMain:false,
+      // 默认排序
+      defaultSort: {prop: 'operTime', order: 'descending'},
+      // 表单参数
+      form: {},
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        title: undefined,
+        operName: undefined,
+        businessType: undefined,
+        status: undefined,
+        mainType: "商品",
+        mainId: undefined
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_oper_type").then(response => {
+      this.typeOptions = response.data;
+    });
+    this.getDicts("sys_common_status").then(response => {
+      this.statusOptions = response.data;
+    });
+  },
+  methods: {
+    /** 查询登录日志 */
+    getList() {
+      this.loading = true;
+      this.queryParams.businessType = 10;
+      console.log("this.queryParams", this.queryParams)
+      list(this.addDateRange(this.queryParams, this.dateRange)).then( response => {
+          this.list = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    // 操作日志类型字典翻译
+    typeFormat(row, column) {
+      return this.selectDictLabel(this.typeOptions, row.businessType);
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    async fetchMain(query) {
+      if (!query) {
+        return;
+      }
+      this.loadingMain = true;
+      let mainParam = {
+        mainType: this.queryParams.mainType,
+        mainKeyword: query
+      }
+      try {
+        getMains(mainParam).then(response => {
+          this.mainOptions = response.data;
+        })
+      } catch (err) {
+        console.error('查询'+this.queryParams.mainType+'失败:', err);
+        this.mainOptions = [];
+      } finally {
+        this.loadingMain = false;
+      }
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
+      this.handleQuery();
+    },
+    /** 多选框选中数据 */
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.operId)
+      this.multiple = !selection.length
+    },
+    /** 排序触发事件 */
+    handleSortChange(column, prop, order) {
+      this.queryParams.orderByColumn = column.prop;
+      this.queryParams.isAsc = column.order;
+      this.getList();
+    },
+    /** 详细按钮操作 */
+    handleView(row) {
+      this.open = true;
+      this.form = row;
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有操作日志数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.exportLoading = true;
+          return exportOperlog(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+          this.exportLoading = false;
+        }).catch(() => {});
+    }
+  }
+};
+</script>
+

+ 1106 - 0
src/views/hisStore/store/index.vue

@@ -0,0 +1,1106 @@
+<template xmlns:el-col="http://www.w3.org/1999/html">
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <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="地址" prop="address">
+        <el-input
+          v-model="queryParams.address"
+          placeholder="请输入地址"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="店铺电话" prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          placeholder="请输入店铺电话"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="审核状态" prop="isAudit">
+        <el-select v-model="queryParams.isAudit" placeholder="请选择审核状态" clearable size="small">
+          <el-option
+            v-for="dict in isAuditOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="登录帐号" prop="account">
+        <el-input
+          v-model="queryParams.account"
+          placeholder="请输入登录帐号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['his:store:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['his:store:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['his:store:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['his:store:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" border :data="storeList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="店铺id" align="center" prop="storeId" width="120px"/>
+      <el-table-column label="店铺名称" align="center" prop="storeName" width="120px"/>
+      <el-table-column label="机构全称" align="center" prop="fullName" width="120px"/>
+      <el-table-column label="店铺LOGO" align="center" prop="logoUrl" width="100px">
+          <template slot-scope="scope">
+             <el-popover
+               placement="right"
+               title=""
+               trigger="hover">
+               <img slot="reference" :src="scope.row.logoUrl" width="80px">
+               <img :src="scope.row.logoUrl" style="max-width: 150px;">
+             </el-popover>
+          </template>
+      </el-table-column>
+      <el-table-column label="地址" align="center" prop="address" width="200px"/>
+      <el-table-column label="店铺电话" align="center" prop="phone" width="120px"/>
+<!--      <el-table-column label="资质证书" align="center" prop="licenseImages" width="100px">
+        <template slot-scope="scope">
+          <el-popover
+            placement="right"
+            title=""
+            trigger="hover">
+            <img slot="reference" :src="scope.row.licenseImages" width="80px">
+            <img :src="scope.row.licenseImages" style="max-width: 150px;">
+          </el-popover>
+        </template>
+      </el-table-column>
+      <el-table-column label="营业执照" align="center" prop="bizLicense" width="100px">
+        <template slot-scope="scope">
+          <el-popover
+            placement="right"
+            title=""
+            trigger="hover">
+            <img slot="reference" :src="scope.row.bizLicense" width="80px">
+            <img :src="scope.row.bizLicense" style="max-width: 150px;">
+          </el-popover>
+        </template>
+      </el-table-column>-->
+      <el-table-column label="审核状态" align="center" prop="isAudit">
+        <template slot-scope="scope">
+          <dict-tag :options="isAuditOptions" :value="scope.row.isAudit"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="商品总数" align="center" prop="productCount" />
+      <el-table-column label="状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="statusOptions" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="销量" align="center" prop="salesCount" />
+      <el-table-column label="余额" align="center" prop="balance" />
+      <el-table-column label="累计金额" align="center" prop="totalMoney" />
+      <el-table-column label="登录帐号" align="center" prop="account" width="150px" />
+      <el-table-column label="创建时间" align="center" prop="createTime"  width="150px"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150px">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['his:store:edit']"
+          >修改</el-button>
+           <el-button
+             size="mini"
+               type="text"
+               @click="handledetails(scope.row)"
+             >详情
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['his:store:remove']"
+          >删除</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-refresh"
+            @click="handleRefresh(scope.row)"
+            v-hasPermi="['his:store:refresh']"
+          >重置密码</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+    <!-- 添加或修改店铺管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="top">
+
+        <el-divider content-position="left">基础信息</el-divider>
+        <el-row>
+          <el-col :span="12">
+              <el-form-item label="店铺名称" prop="storeName">
+                <el-input v-model="form.storeName" placeholder="请输入店铺名称" />
+              </el-form-item>
+          </el-col>
+          <el-col :span="12">
+              <el-form-item label="电话" prop="phone">
+                <el-input v-model="form.phone" placeholder="请输入店铺电话" />
+              </el-form-item>
+          </el-col>
+        </el-row>
+              <el-form-item label="企业全称" prop="fullName">
+                <el-input v-model="form.fullName" placeholder="请输入企业全称" />
+              </el-form-item>
+        <el-row>
+            <el-col :span="12">
+              <el-form-item label="店铺LOGO" prop="logoUrl">
+               <el-upload
+                 v-model="form.logoUrl"
+                 class="avatar-uploader"
+                 :action="uploadUrl"
+                 :show-file-list="false"
+                 :on-success="handleAvatarSuccess"
+                 :before-upload="beforeAvatarUpload">
+                 <img v-if="form.logoUrl" :src="form.logoUrl" class="avatar" width="200px">
+                 <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+               </el-upload>
+              </el-form-item>
+            </el-col >
+          <el-col :span="12">
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="店铺介绍" prop="descs" >
+              <el-input v-model="form.descs" placeholder="请输入店铺介绍" type="textarea"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="所属城市" prop="cityIds">
+              <el-cascader
+                ref="citySelect"
+                v-model="form.cityIds"
+                :options="citys"
+                @change="handleCityChange">
+              </el-cascader>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="地址" prop="address">
+              <el-input v-model="form.address" placeholder="请输入地址" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="法人姓名" prop="legalPersonName">
+              <el-input v-model="form.legalPersonName" placeholder="请输入法人姓名" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode">
+              <el-input v-model="form.unifiedSocialCreditCode" placeholder="请输入统一社会信用代码" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="营业范围" prop="businessScope">
+          <el-input v-model="form.businessScope" placeholder="请输入营业范围" type="textarea" />
+        </el-form-item>
+
+        <!-- 证书上传相关字段 -->
+        <el-divider content-position="left">资质证书信息</el-divider>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="营业执照上传" prop="businessLicense">
+              <el-upload
+                class="avatar-uploader"
+                :action="uploadUrl"
+                :show-file-list="false"
+                :on-success="(response, file) => handleFileSuccess(response, file, 'businessLicense')"
+                :before-upload="beforeAvatarUpload">
+                <img v-if="form.businessLicense" :src="form.businessLicense" class="avatar" width="100px">
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="营业执照失效日期" prop="businessLicenseExpire">
+              <el-date-picker
+                v-model="form.businessLicenseExpire"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+          <el-form-item label="药品经营许可证上传" prop="drugLicense">
+            <el-upload
+              class="avatar-uploader"
+              :action="uploadUrl"
+              :show-file-list="false"
+              :on-success="(response, file) => handleFileSuccess(response, file, 'drugLicense')"
+              :before-upload="beforeAvatarUpload">
+              <img v-if="form.drugLicense" :src="form.drugLicense" class="avatar" width="100px">
+              <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+            </el-upload>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="药品经营许可证有效期" prop="drugLicenseExpiry">
+            <el-date-picker
+              v-model="form.drugLicenseExpiry"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="1类器械生产备案上传" prop="medicalDevice1">
+              <el-upload
+                class="avatar-uploader"
+                :action="uploadUrl"
+                :show-file-list="false"
+                :on-success="(response, file) => handleFileSuccess(response, file, 'medicalDevice1')"
+                :before-upload="beforeAvatarUpload">
+                <img v-if="form.medicalDevice1" :src="form.medicalDevice1" class="avatar" width="100px">
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="1类生产备案有效期" prop="medicalDevice1Expiry">
+              <el-date-picker
+                v-model="form.medicalDevice1Expiry"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="2类医疗器械备案证书上传" prop="medicalDevice2">
+              <el-upload
+                class="avatar-uploader"
+                :action="uploadUrl"
+                :show-file-list="false"
+                :on-success="(response, file) => handleFileSuccess(response, file, 'medicalDevice2')"
+                :before-upload="beforeAvatarUpload">
+                <img v-if="form.medicalDevice2" :src="form.medicalDevice2" class="avatar" width="100px">
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="2类医疗器械备案有效期" prop="medicalDevice2Expiry">
+              <el-date-picker
+                v-model="form.medicalDevice2Expiry"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="3类器械经营许可证上传" prop="medicalDevice3">
+              <el-upload
+                class="avatar-uploader"
+                :action="uploadUrl"
+                :show-file-list="false"
+                :on-success="(response, file) => handleFileSuccess(response, file, 'medicalDevice3')"
+                :before-upload="beforeAvatarUpload">
+                <img v-if="form.medicalDevice3" :src="form.medicalDevice3" class="avatar" width="100px">
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="3类器械经营许可证有效期" prop="medicalDevice3Expiry">
+              <el-date-picker
+                v-model="form.medicalDevice3Expiry"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="食品经营许可证上传" prop="foodLicense">
+              <el-upload
+                class="avatar-uploader"
+                :action="uploadUrl"
+                :show-file-list="false"
+                :on-success="(response, file) => handleFileSuccess(response, file, 'foodLicense')"
+                :before-upload="beforeAvatarUpload">
+                <img v-if="form.foodLicense" :src="form.foodLicense" class="avatar" width="100px">
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="食品经营许可证有效期" prop="foodLicenseExpiry">
+              <el-date-picker
+                v-model="form.foodLicenseExpiry"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="医疗机构执业许可证上传" prop="medicalLicense">
+              <el-upload
+                class="avatar-uploader"
+                :action="uploadUrl"
+                :show-file-list="false"
+                :on-success="(response, file) => handleFileSuccess(response, file, 'medicalLicense')"
+                :before-upload="beforeAvatarUpload">
+                <img v-if="form.medicalLicense" :src="form.medicalLicense" class="avatar" width="100px">
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="医疗机构执业许可证有效期" prop="medicalLicenseExpiry">
+              <el-date-picker
+                v-model="form.medicalLicenseExpiry"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+
+        <el-divider content-position="left">店铺配置信息</el-divider>
+        <el-form-item label="退货地址" prop="refundAddress">
+          <el-input v-model="form.refundAddress" placeholder="请输入退货地址" />
+        </el-form-item>
+        <el-row>
+          <el-col :span="12">
+          <el-form-item label="退货电话" prop="refundPhone">
+            <el-input v-model="form.refundPhone" placeholder="请输入退货电话" />
+          </el-form-item>
+          </el-col>
+           <el-col :span="12">
+            <el-form-item label="退货收货人" prop="refundConsignee">
+              <el-input v-model="form.refundConsignee" placeholder="请输入退货收货人" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="寄件人电话" prop="sendPhone">
+          <el-input v-model="form.sendPhone" placeholder="请输入寄件人电话" />
+        </el-form-item>
+          <el-row>
+          <el-col :span="12">
+            <el-form-item label="商品总数" prop="productCount">
+               <el-input-number v-model="form.productCount"  :min="0" label="描述文字"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="销量" prop="salesCount">
+               <el-input-number v-model="form.salesCount"  :min="0" label="描述文字"></el-input-number>
+            </el-form-item>
+          </el-col>
+        </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="累计金额" prop="totalMoney">
+                 <el-input-number v-model="form.totalMoney" :precision="2" :step="0.1"></el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+             <!-- <el-form-item label="分佣比例%" prop="shippingType">
+                    <el-input-number v-model="form.brokerageRate" :min="0" :max="100"></el-input-number>
+               </el-form-item> -->
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="状态">
+                <el-radio-group v-model="form.status">
+                  <el-radio
+                    v-for="dict in statusOptions"
+                    :key="dict.dictValue"
+                    :label="parseInt(dict.dictValue)"
+                  >{{dict.dictLabel}}</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="分佣方式" prop="brokerageType" >
+                 <el-radio v-model="form.brokerageType" label="1">每盒</el-radio>
+                 <el-radio v-model="form.brokerageType" label="2">总价</el-radio>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="配送方式" prop="shippingType">
+                <el-checkbox-group v-model="form.shippingType" size="medium">
+                 <el-checkbox v-for="(item, index) in shippingTypeOptions" :key="index" :label="item.value"
+                            :disabled="item.disabled">{{item.label}}</el-checkbox>
+                 </el-checkbox-group>
+           </el-form-item>
+
+        <el-divider content-position="left">登录信息</el-divider>
+          <el-form-item label="登录帐号" prop="account" v-if="title != '修改店铺管理'">
+            <el-input v-model="form.account" placeholder="请输入登录帐号" />
+          </el-form-item>
+          <!--        tips-->
+        <span class="tip-text" v-if="title !== '修改店铺管理'">请牢记登录账号,初试密码123456,请及时修改密码</span>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+      <el-drawer
+            :with-header="false"
+            size="75%"
+             :title="show.title" :visible.sync="show.open">
+         <storeDetails  ref="Details" />
+       </el-drawer>
+
+
+  </div>
+</template>
+
+<script>
+import { listStore, getStore, delStore, addStore, updateStore, exportStore, refreshPasWod } from '@/api/hisStore/store'
+import storeDetails from '../components/storeDetails.vue';
+import {getCitys} from "@/api/store/city";
+export default {
+  name: "Store",
+  components: { storeDetails },
+  data() {
+    return {
+      show:{
+              title:"店铺详情",
+              open:false,
+            },
+shippingType:[],
+      citys:[],
+      licenseuploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
+            uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
+            baseUrl: process.env.VUE_APP_BASE_API,
+      shippingTypeOptions: [{
+        "label": "配送",
+        "value": "1"
+      }, {
+        "label": "自提",
+        "value": "2"
+      }, {
+        "label": "配送自提",
+        "value": "3"
+      }],
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 店铺管理表格数据
+      storeList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 状态字典
+      statusOptions: [],
+      // 审核状态字典
+      isAuditOptions: [],
+      deliveryTypeOptions: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        storeName: null,
+        address: null,
+        phone: null,
+        status: null,
+        isAudit: null,
+        account: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        storeName: [
+         { required: true, message: "店铺名称不能为空", trigger: "blur" }
+       ],
+        fullName: [
+         { required: true, message: "店铺名称不能为空", trigger: "blur" }
+       ],
+        businessLicenseExpire: [
+         { required: true, message: "营业执照失效日期不能为空", trigger: "blur" }
+       ],
+        businessLicense: [
+         { required: true, message: "营业执照不能为空", trigger: "blur" }
+       ],
+       logoUrl: [
+         { required: true, message: "店铺LOGO不能为空", trigger: "blur" }
+       ],
+       cityIds: [
+         { required: true, message: "所属城市不能为空", trigger: "blur" }
+       ],
+      address: [
+        { required: true, message: "地址不能为空", trigger: "blur" }
+      ],
+      licenseImages: [
+        { required: true, message: "资质证书不能为空", trigger: "blur" }
+      ],
+      shippingType: [
+        { required: true, message: "配送方式不能为空", trigger: "blur" }
+      ],
+      account: [
+        { required: true, message: "登录账号不能为空", trigger: "blur" }
+      ],
+      brokerageType: [
+        { required: true, message: "分佣方式不能为空", trigger: "blur" }
+      ],
+      refundPhone: [
+        { required: true, message: "退货电话不能为空", trigger: "blur" }
+      ],
+      refundAddress: [
+        { required: true, message: "退货地址不能为空", trigger: "blur" }
+      ],
+      refundConsignee: [
+        { required: true, message: "退货收货人不能为空", trigger: "blur" }
+      ],
+      sendPhone: [
+        { required: true, message: "寄件人电话不能为空", trigger: "blur" },
+      ],
+      phone:  [
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "请输入正确的手机号码",
+            trigger: "blur",
+            required: true
+          }
+        ],
+        // 新增字段校验规则
+        enterpriseShortName: [
+          { required: true, message: "企业简称不能为空", trigger: "blur" }
+        ],
+        enterpriseFullName: [
+          { required: true, message: "企业全称不能为空", trigger: "blur" }
+        ],
+        contactPhone: [
+          { required: true, message: "电话号码不能为空", trigger: "blur" }
+        ],
+        enterpriseAddress: [
+          { required: true, message: "企业地址不能为空", trigger: "blur" }
+        ],
+        legalPersonName: [
+          { required: true, message: "法人姓名不能为空", trigger: "blur" }
+        ],
+        unifiedSocialCreditCode: [
+          { required: true, message: "统一社会信用代码不能为空", trigger: "blur" }
+        ],
+        businessScope: [
+          { required: true, message: "营业范围不能为空", trigger: "blur" }
+        ],
+        password: [
+          { required: true, message: "新密码不能为空", trigger: "blur" },
+          { min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+      this.getCitys();
+    this.getList();
+    this.getDicts("sys_company_status").then(response => {
+      this.statusOptions = response.data;
+    });
+    this.getDicts("sys_company_isaudit").then(response => {
+      this.isAuditOptions = response.data;
+    });
+    this.getDicts("sys_store_delivery_type").then(response => {
+      this.deliveryTypeOptions = response.data;
+    });
+  },
+  methods: {
+
+    handledetails(row){
+            this.show.open=true;
+            setTimeout(() => {
+                 this.$refs.Details.getDetails(row.storeId);
+            }, 1);
+        },
+
+    handleCityChange(value) {
+          var nodes=this.$refs.citySelect.getCheckedNodes();
+          this.form.address=nodes[0].pathLabels[0]+nodes[0].pathLabels[1]+nodes[0].pathLabels[2];
+          this.form.cityIds=value.toString();
+        },
+        getCitys(){
+            getCitys().then(res => {
+              this.loading = false;
+              this.citys=res.data;
+            })
+        },
+
+    licensehandleAvatarSuccess(res, file) {
+        if(res.code===200){
+          this.form.licenseImages=res.url;
+          this.$forceUpdate()
+        }
+        else{
+          this.msgError(res.msg);
+        }
+    },
+        handleAvatarSuccess(res, file) {
+            if(res.code===200){
+              this.form.logoUrl=res.url;
+              this.$forceUpdate()
+            }
+            else{
+              this.msgError(res.msg);
+            }
+        },
+        beforeAvatarUpload(file) {
+          const isLt1M = file.size / 1024 / 1024 < 1;
+          if (!isLt1M) {
+            this.$message.error('上传图片大小不能超过 1MB!');
+          }
+          return   isLt1M;
+        },
+    handleBizLicenseSuccess(res, file) {
+      if(res.code===200){
+        this.form.bizLicense=res.url;
+        this.$forceUpdate()
+      }
+      else{
+        this.msgError(res.msg);
+      }
+    },
+    beforeBizLicenseUpload(file) {
+      const isLt1M = file.size / 1024 / 1024 < 5;
+      if (!isLt1M) {
+        this.$message.error('上传图片大小不能超过 5MB!');
+      }
+      return   isLt1M;
+    },
+
+    // 通用文件上传成功处理函数
+    handleFileSuccess(response, file, field) {
+      if(response.code === 200) {
+        this.$set(this.form, field, response.url);
+        this.$forceUpdate();
+      } else {
+        this.msgError(response.msg);
+      }
+    },
+
+    /** 查询店铺管理列表 */
+    getList() {
+      this.loading = true;
+      listStore(this.queryParams).then(response => {
+        this.storeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        storeId: null,
+        cityIds: null,
+        storeName: null,
+        descs: null,
+        logoUrl: null,
+        address: null,
+        lng: null,
+        lat: null,
+        phone: null,
+        licenseImages: null,
+        productCount: null,
+        status: 0,
+        createTime: null,
+        updateTime: null,
+        salesCount: null,
+        balance: null,
+        totalMoney: null,
+        isAudit: 0,
+        account: null,
+        password: null,
+        shippingType: ["1"],
+        brokerageType:"1",
+        brokerageRate:0,
+        fullName:null,
+        // 重置新增字段
+        enterpriseShortName: null,        // 企业简称
+        enterpriseFullName: null,         // 企业全称
+        contactPhone: null,               // 联系电话
+        enterpriseAddress: null,          // 企业地址
+        legalPersonName: null,            // 法人姓名
+        unifiedSocialCreditCode: null,    // 统一社会信用代码
+        businessScope: null,              // 营业范围
+        // 重置证书相关字段
+        businessLicense: null,                    // 营业执照文件
+        businessLicenseExpire: null,              // 营业执照失效日期
+        drugLicense: null,             // 药品经营许可证有效期
+        drugLicenseExpiry: null,               // 药品经营许可证文件
+        // 医疗器械相关证书
+        medicalDevice1: null,          // 一类医疗器械备案证书
+        medicalDevice1Expiry: null,        // 二类医疗器械备案有效期
+        medicalDevice2: null,          // 二类器械生产备案文件
+        medicalDevice2Expiry: null,        // 一类生产备案有效期
+        medicalDevice3: null,         // 三类器械经营许可证文件
+        medicalDevice3Expiry: null,       // 三类器械经营许可证有效期
+        // 其他许可证相关字段
+        foodLicense: null,               // 食品经营许可证文件
+        foodLicenseExpiry: null,             // 食品经营许可证有效期
+        medicalLicense: null,  // 医疗机构执业许可证文件
+        medicalLicenseExpiry: 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.storeId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加店铺";
+
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const storeId = row.storeId || this.ids
+      getStore(storeId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改店铺";
+        let str=this.form.shippingType
+        this.form.shippingType=str.split(",")
+        this.form.cityIds=((this.form.cityIds).split(",")).map(Number)
+        if(this.form.brokerageType!=null ){
+          this.form.brokerageType=JSON.stringify(this.form.brokerageType)
+        }
+        if(this.form.deliveryType!=null ){
+          this.form.deliveryType=JSON.stringify(this.form.deliveryType)
+        }
+
+        // 处理日期范围字段
+        if(this.form.drugLicenseExpiryStart && this.form.drugLicenseExpiryEnd) {
+          this.form.drugLicenseExpiry = [
+            this.form.drugLicenseExpiryStart,
+            this.form.drugLicenseExpiryEnd
+          ];
+        }
+
+        if(this.form.medicalDevice1ExpiryStart && this.form.medicalDevice1ExpiryEnd) {
+          this.form.medicalDevice1Expiry = [
+            this.form.medicalDevice1ExpiryStart,
+            this.form.medicalDevice1ExpiryEnd
+          ];
+        }
+        if(this.form.medicalDevice2ExpiryStart && this.form.medicalDevice2ExpiryEnd) {
+          this.form.medicalDevice2Expiry = [
+            this.form.medicalDevice2ExpiryStart,
+            this.form.medicalDevice2ExpiryEnd
+          ];
+        }
+        if(this.form.medicalDevice3ExpiryStart && this.form.medicalDevice3ExpiryEnd) {
+          this.form.medicalDevice3Expiry = [
+            this.form.medicalDevice3ExpiryStart,
+            this.form.medicalDevice3ExpiryEnd
+          ];
+        }
+
+        if(this.form.foodLicenseExpiryStart && this.form.foodLicenseExpiryEnd) {
+          this.form.foodLicenseExpiry = [
+            this.form.foodLicenseExpiryStart,
+            this.form.foodLicenseExpiryEnd
+          ];
+        }
+
+        if(this.form.medicalLicenseExpiryStart && this.form.medicalLicenseExpiryEnd) {
+          this.form.medicalLicenseExpiry = [
+            this.form.medicalLicenseExpiryStart,
+            this.form.medicalLicenseExpiryEnd
+          ];
+        }
+        if(this.form.businessLicenseExpireStart && this.form.businessLicenseExpireEnd) {
+          this.form.businessLicenseExpire = [
+            this.form.businessLicenseExpireStart,
+            this.form.businessLicenseExpireEnd
+          ];
+        }
+
+
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          // 处理表单数据
+          const formData = Object.assign({}, this.form);
+
+          // 处理城市ID
+          if(formData.cityIds) {
+            formData.cityIds = formData.cityIds.toString();
+          }
+
+          // 处理配送方式
+          if(formData.shippingType) {
+            formData.shippingType = formData.shippingType.toString();
+          }
+
+          // 处理日期范围字段
+          if(formData.drugLicenseExpiry && formData.drugLicenseExpiry.length === 2) {
+            formData.drugLicenseExpiryStart = formData.drugLicenseExpiry[0];
+            formData.drugLicenseExpiryEnd = formData.drugLicenseExpiry[1];
+          }
+
+          if(formData.medicalDevice2Expiry && formData.medicalDevice2Expiry.length === 2) {
+            formData.medicalDevice2ExpiryStart = formData.medicalDevice2Expiry[0];
+            formData.medicalDevice2ExpiryEnd = formData.medicalDevice2Expiry[1];
+          }
+
+          if(formData.medicalDevice1Expiry && formData.medicalDevice1Expiry.length === 2) {
+            formData.medicalDevice1ExpiryStart = formData.medicalDevice1Expiry[0];
+            formData.medicalDevice1ExpiryEnd = formData.medicalDevice1Expiry[1];
+          }
+
+          if(formData.medicalDevice3Expiry && formData.medicalDevice3Expiry.length === 2) {
+            formData.medicalDevice3ExpiryStart = formData.medicalDevice3Expiry[0];
+            formData.medicalDevice3ExpiryEnd = formData.medicalDevice3Expiry[1];
+          }
+
+          if(formData.foodLicenseExpiry && formData.foodLicenseExpiry.length === 2) {
+            formData.foodLicenseExpiryStart = formData.foodLicenseExpiry[0];
+            formData.foodLicenseExpiryEnd = formData.foodLicenseExpiry[1];
+          }
+
+          if(formData.medicalLicenseExpiry && formData.medicalLicenseExpiry.length === 2) {
+            formData.medicalLicenseExpiryStart = formData.medicalLicenseExpiry[0];
+            formData.medicalLicenseExpiryEnd = formData.medicalLicenseExpiry[1];
+          }
+          if(formData.businessLicenseExpire && formData.businessLicenseExpire.length === 2) {
+            formData.businessLicenseExpireStart = formData.businessLicenseExpire[0];
+            formData.businessLicenseExpireEnd = formData.businessLicenseExpire[1];
+          }
+
+          if (formData.storeId != null) {
+            updateStore(formData).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addStore(formData).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const storeIds = row.storeId || this.ids;
+      this.$confirm('是否确认删除店铺管理编号为"' + storeIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delStore(storeIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(() => {});
+    },
+    handleRefresh(row) {
+      const storeIds = row.storeId || this.ids;
+      this.$confirm('是否确认重置店铺管理编号为"' + storeIds + '"的密码为123456?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function() {
+        return refreshPasWod(storeIds);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有店铺管理数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.exportLoading = true;
+          return exportStore(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+          this.exportLoading = false;
+        }).catch(() => {});
+    }
+  }
+};
+</script>
+<style>
+
+    .avatar-uploader .el-upload {
+       border: 1px dashed #d9d9d9;
+       border-radius: 6px;
+       cursor: pointer;
+       position: relative;
+       overflow: hidden;
+     }
+     .avatar-uploader .el-upload:hover {
+       border-color: #409EFF;
+     }
+
+     .avatar-uploader-icon {
+       font-size: 28px;
+       color: #8c939d;
+       width: 150px;
+       height: 150px;
+       line-height: 150px;
+       text-align: center;
+     }
+
+     .el-divider__text {
+       font-size: 16px;
+       font-weight: bold;
+     }
+</style>

+ 770 - 0
src/views/hisStore/store/index1.vue

@@ -0,0 +1,770 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <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="地址" prop="address">
+        <el-input
+          v-model="queryParams.address"
+          placeholder="请输入地址"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="店铺电话" prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          placeholder="请输入店铺电话"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="审核状态" prop="isAudit">
+        <el-select v-model="queryParams.isAudit" placeholder="请选择审核状态" clearable size="small">
+          <el-option
+            v-for="dict in isAuditOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="登录帐号" prop="account">
+        <el-input
+          v-model="queryParams.account"
+          placeholder="请输入登录帐号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['his:store:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['his:store:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['his:store:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['his:store:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" border :data="storeList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="店铺id" align="center" prop="storeId" width="120px"/>
+      <el-table-column label="店铺名称" align="center" prop="storeName" width="120px"/>
+      <el-table-column label="机构全称" align="center" prop="fullName" width="120px"/>
+      <el-table-column label="店铺LOGO" align="center" prop="logoUrl" width="100px">
+          <template slot-scope="scope">
+             <el-popover
+               placement="right"
+               title=""
+               trigger="hover">
+               <img slot="reference" :src="scope.row.logoUrl" width="80px">
+               <img :src="scope.row.logoUrl" style="max-width: 150px;">
+             </el-popover>
+          </template>
+      </el-table-column>
+      <el-table-column label="地址" align="center" prop="address" width="200px"/>
+      <el-table-column label="店铺电话" align="center" prop="phone" width="120px"/>
+<!--      <el-table-column label="资质证书" align="center" prop="licenseImages" width="100px">
+        <template slot-scope="scope">
+          <el-popover
+            placement="right"
+            title=""
+            trigger="hover">
+            <img slot="reference" :src="scope.row.licenseImages" width="80px">
+            <img :src="scope.row.licenseImages" style="max-width: 150px;">
+          </el-popover>
+        </template>
+      </el-table-column>
+      <el-table-column label="营业执照" align="center" prop="bizLicense" width="100px">
+        <template slot-scope="scope">
+          <el-popover
+            placement="right"
+            title=""
+            trigger="hover">
+            <img slot="reference" :src="scope.row.bizLicense" width="80px">
+            <img :src="scope.row.bizLicense" style="max-width: 150px;">
+          </el-popover>
+        </template>
+      </el-table-column>-->
+      <el-table-column label="审核状态" align="center" prop="isAudit">
+        <template slot-scope="scope">
+          <dict-tag :options="isAuditOptions" :value="scope.row.isAudit"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="商品总数" align="center" prop="productCount" />
+      <el-table-column label="状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="statusOptions" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="销量" align="center" prop="salesCount" />
+      <el-table-column label="余额" align="center" prop="balance" />
+      <el-table-column label="累计金额" align="center" prop="totalMoney" />
+      <el-table-column label="登录帐号" align="center" prop="account" width="150px" />
+      <el-table-column label="创建时间" align="center" prop="createTime"  width="150px"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150px">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['his:store:edit']"
+          >修改</el-button>
+           <el-button
+             size="mini"
+               type="text"
+               @click="handledetails(scope.row)"
+             >详情
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['his:store:remove']"
+          >删除</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-refresh"
+            @click="handleRefresh(scope.row)"
+            v-hasPermi="['his:store:refresh']"
+          >重置密码</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+    <!-- 添加或修改店铺管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-row>
+          <el-col :span="12">
+              <el-form-item label="店铺名称" prop="storeName">
+                <el-input v-model="form.storeName" placeholder="请输入店铺名称" />
+              </el-form-item>
+          </el-col>
+          <el-col :span="12">
+              <el-form-item label="店铺电话" prop="phone">
+                <el-input v-model="form.phone" placeholder="请输入店铺电话" />
+              </el-form-item>
+          </el-col>
+        </el-row>
+              <el-form-item label="机构全称" prop="fullName">
+                <el-input v-model="form.fullName" placeholder="请输入机构全称" />
+              </el-form-item>
+        <el-row>
+            <el-col :span="12">
+              <el-form-item label="店铺LOGO" prop="logoUrl">
+               <el-upload
+                 v-model="form.logoUrl"
+                 class="avatar-uploader"
+                 :action="uploadUrl"
+                 :show-file-list="false"
+                 :on-success="handleAvatarSuccess"
+                 :before-upload="beforeAvatarUpload">
+                 <img v-if="form.logoUrl" :src="form.logoUrl" class="avatar" width="200px">
+                 <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+               </el-upload>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+        	</el-col>
+        </el-row>
+<!--        <el-form-item label="资质证书" prop="licenseImages">
+          <ImageUpload
+            v-model="form.licenseImages"
+            class="avatar-uploader"
+            :action="licenseuploadUrl"
+            :show-file-list="false"
+            :on-success="licensehandleAvatarSuccess"
+            :before-upload="beforeAvatarUpload">
+            <img v-if="form.licenseImages" :src="form.licenseImages" class="avatar" width="200px">
+            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+          </ImageUpload>
+        </el-form-item>-->
+<!--        <el-row>
+          <el-col :span="12">
+            <el-form-item label="营业执照" prop="bizLicense">
+              <el-upload
+                v-model="form.bizLicense"
+                class="avatar-uploader"
+                :action="uploadUrl"
+                :show-file-list="false"
+                :on-success="handleBizLicenseSuccess"
+                :before-upload="beforeBizLicenseUpload">
+                <img v-if="form.bizLicense" :src="form.bizLicense" class="avatar" width="200px">
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="营业执照失效日期" prop="bizLicenseExpireTime">
+              <el-input v-model="form.bizLicenseExpireTime" placeholder="请输入营业执照失效日期" />
+            </el-form-item>
+          </el-col>
+        </el-row>-->
+        <el-form-item label="店铺介绍" prop="descs" >
+          <el-input v-model="form.descs" placeholder="请输入店铺介绍" type="textarea"/>
+        </el-form-item>
+         <el-row>
+          <el-col :span="12">
+            <el-form-item label="所属城市" prop="cityIds">
+            <el-cascader
+              ref="citySelect"
+              v-model="form.cityIds"
+              :options="citys"
+              @change="handleCityChange">
+              </el-cascader>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+              <el-form-item label="地址" prop="address">
+                <el-input v-model="form.address" placeholder="请输入地址" />
+              </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="退货地址" prop="refundAddress">
+          <el-input v-model="form.refundAddress" placeholder="请输入退货地址" />
+        </el-form-item>
+        <el-row>
+          <el-col :span="12">
+          <el-form-item label="退货电话" prop="refundPhone">
+            <el-input v-model="form.refundPhone" placeholder="请输入退货电话" />
+          </el-form-item>
+          </el-col>
+           <el-col :span="12">
+            <el-form-item label="退货收货人" prop="refundConsignee">
+              <el-input v-model="form.refundConsignee" placeholder="请输入退货收货人" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="寄件人电话" prop="sendPhone">
+          <el-input v-model="form.sendPhone" placeholder="请输入寄件人电话" />
+        </el-form-item>
+          <el-row>
+          <el-col :span="12">
+            <el-form-item label="商品总数" prop="productCount">
+               <el-input-number v-model="form.productCount"  :min="0" label="描述文字"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="销量" prop="salesCount">
+               <el-input-number v-model="form.salesCount"  :min="0" label="描述文字"></el-input-number>
+            </el-form-item>
+          </el-col>
+        </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="累计金额" prop="totalMoney">
+                 <el-input-number v-model="form.totalMoney" :precision="2" :step="0.1"></el-input-number>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+             <!-- <el-form-item label="分佣比例%" prop="shippingType">
+                    <el-input-number v-model="form.brokerageRate" :min="0" :max="100"></el-input-number>
+               </el-form-item> -->
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="状态">
+                <el-radio-group v-model="form.status">
+                  <el-radio
+                    v-for="dict in statusOptions"
+                    :key="dict.dictValue"
+                    :label="parseInt(dict.dictValue)"
+                  >{{dict.dictLabel}}</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="分佣方式" prop="brokerageType" >
+                 <el-radio v-model="form.brokerageType" label="1">每盒</el-radio>
+                 <el-radio v-model="form.brokerageType" label="2">总价</el-radio>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="配送方式" prop="shippingType">
+                <el-checkbox-group v-model="form.shippingType" size="medium">
+                 <el-checkbox v-for="(item, index) in shippingTypeOptions" :key="index" :label="item.value"
+                            :disabled="item.disabled">{{item.label}}</el-checkbox>
+                 </el-checkbox-group>
+           </el-form-item>
+
+           <el-form-item label="发货方式" prop="deliveryType">
+                 <el-radio-group v-model="form.deliveryType">
+                          <el-radio :label="item.dictValue" v-for="item in deliveryTypeOptions" >{{item.dictLabel}}</el-radio>
+                 </el-radio-group>
+            </el-form-item>
+
+          <el-form-item label="登录帐号" prop="account" v-if="title != '修改店铺管理'">
+            <el-input v-model="form.account" placeholder="请输入登录帐号" />
+          </el-form-item>
+          <!--        tips-->
+        <span class="tip-text" v-if="title !== '修改店铺管理'">请牢记登录账号,初试密码123456,请及时修改密码</span>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+      <el-drawer
+            :with-header="false"
+            size="75%"
+             :title="show.title" :visible.sync="show.open">
+         <storeDetails  ref="Details" />
+       </el-drawer>
+
+
+  </div>
+</template>
+
+<script>
+import { listStore, getStore, delStore, addStore, updateStore, exportStore, refreshPasWod } from '@/api/hisStore/store'
+import storeDetails from '../../components/his/storeDetails.vue';
+import {getCitys} from "@/api/store/city";
+export default {
+  name: "Store",
+  components: { storeDetails },
+  data() {
+    return {
+      show:{
+              title:"店铺详情",
+              open:false,
+            },
+shippingType:[],
+      citys:[],
+      licenseuploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
+            uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
+            baseUrl: process.env.VUE_APP_BASE_API,
+      shippingTypeOptions: [{
+        "label": "配送",
+        "value": "1"
+      }, {
+        "label": "自提",
+        "value": "2"
+      }, {
+        "label": "配送自提",
+        "value": "3"
+      }],
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 店铺管理表格数据
+      storeList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 状态字典
+      statusOptions: [],
+      // 审核状态字典
+      isAuditOptions: [],
+      deliveryTypeOptions: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        storeName: null,
+        address: null,
+        phone: null,
+        status: null,
+        isAudit: null,
+        account: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        storeName: [
+         { required: true, message: "店铺名称不能为空", trigger: "blur" }
+       ],
+       logoUrl: [
+         { required: true, message: "店铺LOGO不能为空", trigger: "blur" }
+       ],
+       cityIds: [
+         { required: true, message: "所属城市不能为空", trigger: "blur" }
+       ],
+      address: [
+        { required: true, message: "地址不能为空", trigger: "blur" }
+      ],
+      licenseImages: [
+        { required: true, message: "资质证书不能为空", trigger: "blur" }
+      ],
+      shippingType: [
+        { required: true, message: "配送方式不能为空", trigger: "blur" }
+      ],
+      account: [
+        { required: true, message: "登录账号不能为空", trigger: "blur" }
+      ],
+      brokerageType: [
+        { required: true, message: "分佣方式不能为空", trigger: "blur" }
+      ],
+      refundPhone: [
+        { required: true, message: "退货电话不能为空", trigger: "blur" }
+      ],
+      refundAddress: [
+        { required: true, message: "退货地址不能为空", trigger: "blur" }
+      ],
+      refundConsignee: [
+        { required: true, message: "退货收货人不能为空", trigger: "blur" }
+      ],
+      deliveryType: [
+        { required: true, message: "发货方式不能为空", trigger: "blur" }
+      ],
+      sendPhone: [
+        { required: true, message: "寄件人电话不能为空", trigger: "blur" },
+      ],
+      phone:  [
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "请输入正确的手机号码",
+            trigger: "blur"
+          }
+        ],
+
+      password: [
+        { required: true, message: "新密码不能为空", trigger: "blur" },
+        { min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" }
+      ],
+      }
+    };
+  },
+  created() {
+      this.getCitys();
+    this.getList();
+    this.getDicts("sys_company_status").then(response => {
+      this.statusOptions = response.data;
+    });
+    this.getDicts("sys_company_isaudit").then(response => {
+      this.isAuditOptions = response.data;
+    });
+    this.getDicts("sys_store_delivery_type").then(response => {
+      this.deliveryTypeOptions = response.data;
+    });
+  },
+  methods: {
+
+    handledetails(row){
+            this.show.open=true;
+            setTimeout(() => {
+                 this.$refs.Details.getDetails(row.storeId);
+            }, 1);
+        },
+
+    handleCityChange(value) {
+          var nodes=this.$refs.citySelect.getCheckedNodes();
+          this.form.address=nodes[0].pathLabels[0]+nodes[0].pathLabels[1]+nodes[0].pathLabels[2];
+          this.form.cityIds=value.toString();
+        },
+        getCitys(){
+            getCitys().then(res => {
+              this.loading = false;
+              this.citys=res.data;
+            })
+        },
+
+    licensehandleAvatarSuccess(res, file) {
+        if(res.code===200){
+          this.form.licenseImages=res.url;
+          this.$forceUpdate()
+        }
+        else{
+          this.msgError(res.msg);
+        }
+    },
+        handleAvatarSuccess(res, file) {
+            if(res.code===200){
+              this.form.logoUrl=res.url;
+              this.$forceUpdate()
+            }
+            else{
+              this.msgError(res.msg);
+            }
+        },
+        beforeAvatarUpload(file) {
+          const isLt1M = file.size / 1024 / 1024 < 1;
+          if (!isLt1M) {
+            this.$message.error('上传图片大小不能超过 1MB!');
+          }
+          return   isLt1M;
+        },
+    handleBizLicenseSuccess(res, file) {
+      if(res.code===200){
+        this.form.bizLicense=res.url;
+        this.$forceUpdate()
+      }
+      else{
+        this.msgError(res.msg);
+      }
+    },
+    beforeBizLicenseUpload(file) {
+      const isLt1M = file.size / 1024 / 1024 < 5;
+      if (!isLt1M) {
+        this.$message.error('上传图片大小不能超过 5MB!');
+      }
+      return   isLt1M;
+    },
+
+    /** 查询店铺管理列表 */
+    getList() {
+      this.loading = true;
+      listStore(this.queryParams).then(response => {
+        this.storeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        storeId: null,
+        cityIds: null,
+        storeName: null,
+        descs: null,
+        logoUrl: null,
+        address: null,
+        lng: null,
+        lat: null,
+        phone: null,
+        licenseImages: null,
+        productCount: null,
+        status: 0,
+        createTime: null,
+        updateTime: null,
+        salesCount: null,
+        balance: null,
+        totalMoney: null,
+        isAudit: 0,
+        account: null,
+        password: null,
+        shippingType: ["1"],
+        brokerageType:"1",
+        brokerageRate:0,
+        fullName: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.storeId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加店铺管理";
+
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const storeId = row.storeId || this.ids
+      getStore(storeId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改店铺管理";
+        var str=this.form.shippingType
+        this.form.shippingType=str.split(",")
+        this.form.cityIds=((this.form.cityIds).split(",")).map(Number)
+        if(this.form.brokerageType!=null ){
+          this.form.brokerageType=JSON.stringify(this.form.brokerageType)
+        }
+        if(this.form.deliveryType!=null ){
+          this.form.deliveryType=JSON.stringify(this.form.deliveryType)
+        }
+
+
+
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+
+
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.form.cityIds=(this.form.cityIds).toString()
+          this.form.shippingType=(this.form.shippingType).toString()
+          if (this.form.storeId != null) {
+            updateStore(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addStore(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const storeIds = row.storeId || this.ids;
+      this.$confirm('是否确认删除店铺管理编号为"' + storeIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delStore(storeIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(() => {});
+    },
+    handleRefresh(row) {
+      const storeIds = row.storeId || this.ids;
+      this.$confirm('是否确认重置店铺管理编号为"' + storeIds + '"的密码为123456?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function() {
+        return refreshPasWod(storeIds);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有店铺管理数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.exportLoading = true;
+          return exportStore(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+          this.exportLoading = false;
+        }).catch(() => {});
+    }
+  }
+};
+</script>
+<style>
+
+    .avatar-uploader .el-upload {
+       border: 1px dashed #d9d9d9;
+       border-radius: 6px;
+       cursor: pointer;
+       position: relative;
+       overflow: hidden;
+     }
+     .avatar-uploader .el-upload:hover {
+       border-color: #409EFF;
+     }
+
+     .avatar-uploader-icon {
+       font-size: 28px;
+       color: #8c939d;
+       width: 150px;
+       height: 150px;
+       line-height: 150px;
+       text-align: center;
+     }
+</style>

+ 344 - 0
src/views/hisStore/store/storeLog.vue

@@ -0,0 +1,344 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="系统模块" prop="title">
+        <el-input
+          v-model="queryParams.title"
+          placeholder="请输入系统模块"
+          clearable
+          style="width: 240px;"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="操作人员" prop="operName">
+        <el-input
+          v-model="queryParams.operName"
+          placeholder="请输入操作人员"
+          clearable
+          style="width: 240px;"
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="类型" prop="businessType">
+        <el-select
+          v-model="queryParams.businessType"
+          placeholder="操作类型"
+          clearable
+          size="small"
+          style="width: 240px"
+        >
+          <el-option
+            v-for="dict in typeOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="日志主体" prop="mainType">
+        <el-radio-group v-model="queryParams.mainType" @change="getList()">
+          <el-radio-button label="店铺" >店铺</el-radio-button>
+          <el-radio-button label="商品" >商品</el-radio-button>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="主体名称" prop="mainId">
+        <el-select
+          v-model="queryParams.mainId"
+          filterable
+          remote
+          clearable
+          placeholder="请输入关键字搜索"
+          :remote-method="fetchMain"
+          :loading="loadingMain"
+          size="small"
+          style="width: 180px"
+        >
+          <el-option
+            v-for="company in mainOptions"
+            :key="company.id"
+            :label="company.name"
+            :value="company.id"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="成功或失败"
+          clearable
+          size="small"
+          style="width: 240px"
+        >
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="操作时间">
+        <el-date-picker
+          v-model="dateRange"
+          size="small"
+          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>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['his:storeLog:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="日志编号" align="center" prop="operId" />
+      <el-table-column label="主体名称" align="center" prop="mainName"/>
+      <el-table-column label="系统模块" align="center" prop="title" />
+      <el-table-column label="操作类型" align="center" prop="businessType">
+        <template slot-scope="scope">
+          <dict-tag :options="typeOptions" :value="scope.row.businessType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="描述" align="center" prop="des" :show-overflow-tooltip="true" />
+      <el-table-column label="操作人员" align="center" prop="operName" width="100" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
+      <el-table-column label="操作状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="statusOptions" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作日期" align="center" prop="operTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.operTime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-view"
+            @click="handleView(scope.row,scope.index)"
+            v-hasPermi="['his:storeLog:list']"
+          >详细</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 操作日志详细 -->
+    <el-dialog title="操作日志详细" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" label-width="100px" size="mini">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="操作模块:">{{ form.title }} / {{ typeFormat(form) }}</el-form-item>
+            <el-form-item
+              label="登录信息:"
+            >{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item>
+            <el-form-item label="请求方式:">{{ form.requestMethod }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="操作方法:">{{ form.method }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="请求参数:">{{ form.operParam }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="返回参数:">{{ form.jsonResult }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="操作状态:">
+              <div v-if="form.status === 0">正常</div>
+              <div v-else-if="form.status === 1">失败</div>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
+          </el-col>
+
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="open = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { list, exportOperlog, getMains } from '@/api/hisStore/operlog'
+
+export default {
+  name: "Operlog",
+  data() {
+    return {
+
+      loadingMain:false,
+      mainOptions: [],
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 表格数据
+      list: [],
+      // 是否显示弹出层
+      open: false,
+      // 类型数据字典
+      typeOptions: [],
+      // 类型数据字典
+      statusOptions: [],
+      // 日期范围
+      dateRange: [],
+      // 默认排序
+      defaultSort: {prop: 'operTime', order: 'descending'},
+      // 表单参数
+      form: {},
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        title: undefined,
+        operName: undefined,
+        businessType: undefined,
+        status: undefined,
+        mainType: '店铺',
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_oper_type").then(response => {
+      this.typeOptions = response.data;
+    });
+    this.getDicts("sys_common_status").then(response => {
+      this.statusOptions = response.data;
+    });
+  },
+  methods: {
+    async fetchMain(query) {
+      if (!query) {
+        return;
+      }
+      this.loadingMain = true;
+      let mainParam = {
+        mainType: this.queryParams.mainType,
+        mainKeyword: query
+      }
+      try {
+        getMains(mainParam).then(response => {
+          this.mainOptions = response.data;
+        })
+      } catch (err) {
+        console.error('查询'+this.queryParams.mainType+'失败:', err);
+        this.mainOptions = [];
+      } finally {
+        this.loadingMain = false;
+      }
+    },
+    /** 查询登录日志 */
+    getList() {
+      this.loading = true;
+      list(this.addDateRange(this.queryParams, this.dateRange)).then( response => {
+          this.list = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    mainTypeFormatter(row, column, cellValue){
+      return cellValue === 0 ? '店铺' : '商品';
+    },
+    // 操作日志类型字典翻译
+    typeFormat(row, column) {
+      return this.selectDictLabel(this.typeOptions, row.businessType);
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
+      this.handleQuery();
+    },
+    /** 多选框选中数据 */
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.operId)
+      this.multiple = !selection.length
+    },
+    /** 排序触发事件 */
+    handleSortChange(column, prop, order) {
+      this.queryParams.orderByColumn = column.prop;
+      this.queryParams.isAsc = column.order;
+      this.getList();
+    },
+    /** 详细按钮操作 */
+    handleView(row) {
+      this.open = true;
+      this.form = row;
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有操作日志数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.exportLoading = true;
+          return exportOperlog(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+          this.exportLoading = false;
+        }).catch(() => {});
+    }
+  }
+};
+</script>
+

+ 229 - 2
src/views/hisStore/storeProduct/index.vue

@@ -47,6 +47,22 @@
           />
         </el-select>
       </el-form-item>
+      <el-form-item label="所属店铺">
+        <el-select style="width: 240px" v-model="queryParams.storeIds" multiple placeholder="请选择企业" clearable size="small" >
+          <el-option
+            v-for="item in storeOptions"
+            :key="item.storeId"
+            :label="item.storeName"
+            :value="item.storeId"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="审核状态">
+        <el-select style="width: 240px" v-model="queryParams.isAudit" placeholder="请选择企业" size="small" >
+          <el-option value="0" label="待审核" key="isAudit0">待审核</el-option>
+          <el-option value="1" label="审核通过" key="isAudit1">审核通过</el-option>
+        </el-select>
+      </el-form-item>
       <!-- <el-form-item label="状态" prop="isShow">
          <el-select style="width: 240px" v-model="queryParams.isShow" placeholder="请选择状态" clearable size="small" >
          <el-option
@@ -170,6 +186,14 @@
             @click="handleUpdate(scope.row)"
             v-hasPermi="['store:storeProduct:edit']"
           >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="showOperLog(scope.row)"
+            v-hasPermi="['store:storeProduct:list']"
+            v-if="scope.row.isAudit===1"
+          >审核记录</el-button>
           <el-button
             size="mini"
             type="text"
@@ -261,6 +285,109 @@
           </el-col>
 
         </el-row>
+        <el-row :gutter="10">
+          <el-col :span="12">
+            <el-form-item label="是否药品" prop="isDrug">
+              <el-radio-group v-model="form.isDrug">
+                <el-radio
+                  v-for="item in isDrugOptions"
+                  :key="item.dictValue"
+                  :label="item.dictValue"
+                >{{ item.dictLabel }}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <div v-if="form.isDrug === '1'">
+          <el-form-item label="药品展示图" prop="drugImage">
+            <Material v-model="drugImageArr" type="image" :num="1" :width="150" :height="150" />
+          </el-form-item>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="药品注册证书编号" prop="drugRegCertNo">
+                <el-input v-model="form.drugRegCertNo" placeholder="请输入药品注册证书编号" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="通用名称" prop="commonName">
+                <el-input v-model="form.commonName" placeholder="请输入通用名称" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="剂型" prop="dosageForm">
+                <el-input v-model="form.dosageForm" placeholder="请输入剂型" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="单价" prop="unitPrice">
+                <el-input v-model="form.unitPrice" placeholder="请输入单价" type="number" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="批号" prop="batchNumber">
+                <el-input v-model="form.batchNumber" placeholder="请输入批号" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="规格" prop="prescribeSpec">
+                <el-input v-model="form.prescribeSpec" placeholder="请输入规格" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="上市许可持有人" prop="mah">
+                <el-input v-model="form.mah" placeholder="请输入上市许可持有人" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="持有人地址" prop="mahAddress">
+                <el-input v-model="form.mahAddress" placeholder="请输入上市许可持有人地址" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="生产企业" prop="manufacturer">
+                <el-input v-model="form.manufacturer" placeholder="请输入生产企业" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="企业地址" prop="manufacturerAddress">
+                <el-input v-model="form.manufacturerAddress" placeholder="请输入生产企业地址" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-form-item label="功能主治" prop="indications">
+            <el-input v-model="form.indications" type="textarea" placeholder="请输入功能主治" />
+          </el-form-item>
+
+          <el-form-item label="用法用量" prop="dosage">
+            <el-input v-model="form.dosage" type="textarea" placeholder="请输入用法用量" />
+          </el-form-item>
+
+          <el-form-item label="不良反应" prop="adverseReactions">
+            <el-input v-model="form.adverseReactions" type="textarea" placeholder="请输入不良反应" />
+          </el-form-item>
+
+          <el-form-item label="禁忌" prop="contraindications">
+            <el-input v-model="form.contraindications" type="textarea" placeholder="请输入禁忌" />
+          </el-form-item>
+
+          <el-form-item label="注意事项" prop="precautions">
+            <el-input v-model="form.precautions" type="textarea" placeholder="请输入注意事项" />
+          </el-form-item>
+        </div>
         <el-row>
           <el-col :span="24">
             <el-form-item label="商品简介" prop="productInfo">
@@ -567,6 +694,16 @@
                   />
             </el-select>
         </el-form-item>
+        <el-form-item label="所属店铺">
+          <el-select style="width: 240px" v-model="queryParams.storeIds" placeholder="请选择企业" clearable size="small" >
+            <el-option
+              v-for="item in storeOptions"
+              :key="item.storeId"
+              :label="item.storeName"
+              :value="item.storeId"
+            />
+          </el-select>
+        </el-form-item>
         <el-form-item label="国药准字" v-if="form.productType==2" prop="prescribeCode">
           <el-input v-model="form.prescribeCode" placeholder="请输入国药准字" />
         </el-form-item>
@@ -638,6 +775,7 @@ import Editor from '@/components/Editor/wang';
 import Material from '@/components/Material'
 import singleImg from '@/components/Material/single'
 import { getCompanyList } from "@/api/company/company";
+import { listStore } from '@/api/hisStore/store'
 export default {
   name: "HisStoreProduct",
   components: {
@@ -652,11 +790,16 @@ export default {
     },
     photoArr: function(val) {
       this.form.sliderImage = val.join(',')
+    },
+    drugImageArr: function(val) {
+      this.form.drugImage = val.join(',');
     }
   },
   data() {
     return {
       companyId: null,
+      storeId: null,
+      isAudit: null,
       uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
       //videoAccept:"video/*",
       upload: {
@@ -673,6 +816,15 @@ export default {
         // 上传的地址
         url: process.env.VUE_APP_BASE_API + "/store/storeProduct/importData"
       },
+      // 添加药品相关字段
+      isDrugOptions: [
+        { dictValue: "0", dictLabel: "否" },
+        { dictValue: "1", dictLabel: "是" }
+      ],
+
+      // 药品展示图
+      drugImageArr: [],
+
       productTuiCateOptions:[],
       showIput: false,
       createBnt:true,
@@ -718,6 +870,7 @@ export default {
       categoryOptions:[],
       // 企业列表
       companyOptions:[],
+      storeOptions:[],
       // 遮罩层
       loading: true,
       // 选中数组
@@ -791,6 +944,52 @@ export default {
         companyIds: [
           { required: true, message: "销售公司不能为空", trigger: "blur" }
         ],
+        // 药品相关字段校验(仅在是药品时必填)
+        drugImage: [
+          { required: true, message: "药品展示图不能为空", trigger: "blur" }
+        ],
+        drugRegCertNo: [
+          { required: true, message: "药品注册证书编号不能为空", trigger: "blur" }
+        ],
+        commonName: [
+          { required: true, message: "通用名称不能为空", trigger: "blur" }
+        ],
+        dosageForm: [
+          { required: true, message: "剂型不能为空", trigger: "blur" }
+        ],
+        unitPrice: [
+          { required: true, message: "单价不能为空", trigger: "blur" }
+        ],
+        batchNumber: [
+          { required: true, message: "批号不能为空", trigger: "blur" }
+        ],
+        mah: [
+          { required: true, message: "上市许可持有人不能为空", trigger: "blur" }
+        ],
+        mahAddress: [
+          { required: true, message: "上市许可持有人地址不能为空", trigger: "blur" }
+        ],
+        manufacturer: [
+          { required: true, message: "生产企业不能为空", trigger: "blur" }
+        ],
+        manufacturerAddress: [
+          { required: true, message: "生产企业地址不能为空", trigger: "blur" }
+        ],
+        indications: [
+          { required: true, message: "功能主治不能为空", trigger: "blur" }
+        ],
+        dosage: [
+          { required: true, message: "用法用量不能为空", trigger: "blur" }
+        ],
+        adverseReactions: [
+          { required: true, message: "不良反应不能为空", trigger: "blur" }
+        ],
+        contraindications: [
+          { required: true, message: "禁忌不能为空", trigger: "blur" }
+        ],
+        precautions: [
+          { required: true, message: "注意事项不能为空", trigger: "blur" }
+        ]
       }
     };
   },
@@ -821,6 +1020,9 @@ export default {
     getCompanyList().then(response => {
       this.companyOptions = response.data;
     });
+    listStore().then(response => {
+      this.storeOptions = response.rows;
+    });
     this.getTreeselect();
     this.getList();
   },
@@ -1040,6 +1242,7 @@ export default {
     /** 查询商品列表 */
     getList() {
       this.loading = true;
+      console.log(this.queryParams)
       listStoreProduct(this.queryParams).then(response => {
         this.storeProductList = response.rows;
         this.total = response.total;
@@ -1054,7 +1257,7 @@ export default {
     // 表单重置
     reset() {
       this.form = {
-        productId: 0,
+        productId: null,
         image: null,
         video: null,
         sliderImage: null,
@@ -1096,8 +1299,26 @@ export default {
         prescribeFactory: null,
         prescribeName: null,
         isDisplay:"1",
-        companyIds:[]
+        companyIds:[],
+        isDrug: "0", // 是否药品
+        drugImage: 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.drugImageArr = [];
       this.resetForm("form");
       this.oneFormValidate = [
         {
@@ -1169,6 +1390,12 @@ export default {
         if(this.form.tuiCateId!=null){
           this.form.tuiCateId = response.data.tuiCateId.toString();
         }
+
+        this.form.isDrug = response.data.isDrug ? response.data.isDrug.toString() : "0";
+        if (this.form.drugImage != null) {
+          this.drugImageArr = this.form.drugImage.split(",");
+        }
+
         //组装attrs数据
         if(response.attrs!=null){
           this.attrs=[];

+ 1446 - 0
src/views/hisStore/storeProductAudit/index.vue

@@ -0,0 +1,1446 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+
+      <el-form-item label="商品分类" prop="cateId">
+         <treeselect  v-model="queryParams.cateId"  style="width:205.4px" :options="categoryOptions" :normalizer="normalizer" placeholder="请选择分类"/>
+      </el-form-item>
+
+      <el-form-item label="商品名称" prop="productName">
+        <el-input
+          v-model="queryParams.productName"
+          placeholder="请输入商品名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+       <el-form-item label="商品编号" prop="barCode">
+        <el-input
+          v-model="queryParams.barCode"
+          placeholder="请输入商品编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+
+      <el-form-item label="商品类型" prop="productType">
+        <el-select   v-model="queryParams.productType" placeholder="请选择商品类型" clearable size="small" >
+         <el-option
+                v-for="item in productTypeOptions"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="所属公司">
+        <el-select style="width: 240px" v-model="companyId" multiple placeholder="请选择企业" clearable size="small" >
+          <el-option
+            v-for="item in companyOptions"
+            :key="item.companyId"
+            :label="item.companyName"
+            :value="item.companyId"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="所属店铺">
+        <el-select style="width: 240px" v-model="storeId" multiple placeholder="请选择企业" clearable size="small" >
+          <el-option
+            v-for="item in storeOptions"
+            :key="item.storeId"
+            :label="item.storeName"
+            :value="item.storeId"
+          />
+        </el-select>
+      </el-form-item>
+      <!-- <el-form-item label="状态" prop="isShow">
+         <el-select style="width: 240px" v-model="queryParams.isShow" placeholder="请选择状态" clearable size="small" >
+         <el-option
+                v-for="item in isShowOptions"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item> -->
+
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="multiple"
+          @click="handleUpdate"
+          v-hasPermi="['store:storeProductAudit:edit']"
+        >批量审核</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['store:storePayment:export']"
+        >导出</el-button>
+      </el-col>
+
+	    <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+<!--    <el-tabs type="card" v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="出售中" name="1"></el-tab-pane>
+      <el-tab-pane label="待上架" name="0"></el-tab-pane>
+    </el-tabs>-->
+
+    <el-table  height="500" border v-loading="loading" :data="storeProductList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="ID" align="center" prop="productId" />
+      <el-table-column label="商品图片" align="center" width="120">
+        <template slot-scope="scope">
+          <el-popover
+            placement="right"
+            title=""
+            trigger="hover">
+            <img slot="reference" :src="scope.row.image" width="100">
+            <img :src="scope.row.image" style="max-width: 150px;">
+          </el-popover>
+        </template>
+      </el-table-column>
+      <el-table-column label="商品名称" show-overflow-tooltip align="center" prop="productName" />
+      <el-table-column label="分类" align="center" prop="cateName" />
+      <el-table-column label="所属公司" align="center" prop="companyName" />
+      <el-table-column label="售价" align="center" prop="price" >
+          <template slot-scope="scope" >
+              <span v-if="scope.row.price!=null">{{scope.row.price.toFixed(2)}}</span>
+          </template>
+      </el-table-column>
+      <el-table-column label="原价" align="center" prop="otPrice" >
+          <template slot-scope="scope" >
+              <span v-if="scope.row.otPrice!=null">{{scope.row.otPrice.toFixed(2)}}</span>
+          </template>
+      </el-table-column>
+      <el-table-column label="销量" align="center" prop="sales" />
+      <el-table-column label="库存" align="center" prop="stock" />
+      <el-table-column label="类型" align="center" prop="productType" >
+          <template slot-scope="scope">
+              <el-tag prop="productType" v-for="(item, index) in productTypeOptions"    v-if="scope.row.productType==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
+      <el-table-column label="状态" align="center" prop="isShow" >
+          <template slot-scope="scope">
+              <el-tag prop="status" v-for="(item, index) in isShowOptions"    v-if="scope.row.isShow==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['store:storeProductAudit:edit']"
+          >审核</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <el-dialog :title="title" :visible.sync="open1" width="580px" append-to-body>
+      <el-form ref="form1" :model="form1" :rules="rules1" label-width="80px">
+        <el-form-item label="审核理由" prop="reason">
+          <el-input v-model="form1.reason" type="textarea" placeholder="请输入审核理由" />
+        </el-form-item>
+        <el-form-item label="图片说明" prop="attachImage">
+          <ImageUpload  v-model="form1.attachImage" type="image" :limit=5 :width="150"
+                        :height="150"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="handleBatchUpdate(1)">审核通过</el-button>
+        <el-button type="primary" @click="handleBatchUpdate(2)">审核退回</el-button>
+        <el-button @click="cancel1">取 消</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 添加或修改商品对话框 -->
+    <el-dialog :title="title" v-if="open" :fullscreen="isFullscreen" :visible.sync="open" width="1000px" append-to-body :show-close="false">
+      <template v-slot:title>
+        <div style="display: flex; justify-content: space-between; align-items: center;">
+          <span>{{ title }}</span>
+          <div>
+            <!-- 全屏按钮 -->
+            <el-button type="text" @click="handleFullScreen" size="middle">
+              <i class="el-icon-full-screen"></i>
+            </el-button>
+            <!--关闭按钮-->
+            <el-button type="text" @click="open = false">
+              <i class="el-icon-close"></i>
+            </el-button>
+          </div>
+        </div>
+      </template>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px" disabled>
+        <el-row >
+          <el-col :span="12">
+            <el-form-item label="商品名称" prop="productName">
+              <el-input v-model="form.productName" placeholder="请输入商品名称" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="商品分类" prop="cateId">
+               <treeselect v-model="form.cateId" :options="categoryOptions" :normalizer="normalizer" placeholder="请选择上级分类" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="关键字" prop="keyword">
+              <el-input v-model="form.keyword" placeholder="请输入关键字" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="单位名" prop="unitName">
+              <el-input v-model="form.unitName" placeholder="请输入单位名" />
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+        <el-row :gutter="10">
+          <el-col :span="12">
+            <el-form-item label="是否药品" prop="isDrug">
+              <el-radio-group v-model="form.isDrug">
+                <el-radio
+                  v-for="item in isDrugOptions"
+                  :key="item.dictValue"
+                  :label="item.dictValue"
+                >{{ item.dictLabel }}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <div v-if="form.isDrug === '1'">
+          <el-form-item label="药品展示图" prop="drugImage">
+            <Material v-model="drugImageArr" type="image" :num="1" :width="150" :height="150" />
+          </el-form-item>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="药品注册证书编号" prop="drugRegCertNo">
+                <el-input v-model="form.drugRegCertNo" placeholder="请输入药品注册证书编号" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="通用名称" prop="commonName">
+                <el-input v-model="form.commonName" placeholder="请输入通用名称" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="剂型" prop="dosageForm">
+                <el-input v-model="form.dosageForm" placeholder="请输入剂型" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="单价" prop="unitPrice">
+                <el-input v-model="form.unitPrice" placeholder="请输入单价" type="number" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="批号" prop="batchNumber">
+                <el-input v-model="form.batchNumber" placeholder="请输入批号" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="规格" prop="prescribeSpec">
+                <el-input v-model="form.prescribeSpec" placeholder="请输入规格" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="上市许可持有人" prop="mah">
+                <el-input v-model="form.mah" placeholder="请输入上市许可持有人" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="持有人地址" prop="mahAddress">
+                <el-input v-model="form.mahAddress" placeholder="请输入上市许可持有人地址" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="生产企业" prop="manufacturer">
+                <el-input v-model="form.manufacturer" placeholder="请输入生产企业" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="企业地址" prop="manufacturerAddress">
+                <el-input v-model="form.manufacturerAddress" placeholder="请输入生产企业地址" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-form-item label="功能主治" prop="indications">
+            <el-input v-model="form.indications" type="textarea" placeholder="请输入功能主治" />
+          </el-form-item>
+
+          <el-form-item label="用法用量" prop="dosage">
+            <el-input v-model="form.dosage" type="textarea" placeholder="请输入用法用量" />
+          </el-form-item>
+
+          <el-form-item label="不良反应" prop="adverseReactions">
+            <el-input v-model="form.adverseReactions" type="textarea" placeholder="请输入不良反应" />
+          </el-form-item>
+
+          <el-form-item label="禁忌" prop="contraindications">
+            <el-input v-model="form.contraindications" type="textarea" placeholder="请输入禁忌" />
+          </el-form-item>
+
+          <el-form-item label="注意事项" prop="precautions">
+            <el-input v-model="form.precautions" type="textarea" placeholder="请输入注意事项" />
+          </el-form-item>
+        </div>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="商品简介" prop="productInfo">
+              <el-input v-model="form.productInfo" type="textarea" :rows="2" placeholder="请输入商品简介" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="商品图片" prop="image">
+          <Material v-model="imageArr" type="image" :num="1" :width="150" :height="150" />
+        </el-form-item>
+<!--        <el-form-item label="商品视频" prop="video">
+          <div>
+            <el-upload
+              ref="upload"
+              class="upload-demo"
+              :action="uploadUrl"
+              :on-success="handleSuccess"
+              :before-upload="beforeUpload"
+              :limit="1"
+              :accept="videoAccept"
+            >
+              <el-button size="small" type="primary">点击上传视频</el-button>
+            </el-upload>
+            <video v-if="form.video" :src="form.video" controls style="max-width: 300px; max-height: 300px; margin-top: 10px"></video>
+          </div>
+        </el-form-item>-->
+        <el-form-item label="轮播图" prop="sliderImage">
+          <Material v-model="photoArr" type="image" :num="10" :width="150" :height="150" />
+        </el-form-item>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="商品规格:" props="specType">
+              <el-radio-group v-model="form.specType" >
+                <el-radio :label="0" class="radio">单规格</el-radio>
+                <el-radio :label="1">多规格</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+           <!-- 多规格添加-->
+          <el-col :span="24" v-if="form.specType === 1" class="noForm" >
+           <el-col :span="24">
+              <el-form-item label="选择规格:" prop="">
+                <div  class="acea-row row-middle">
+                  <el-select v-model="form.selectRule" style="width: 23%;">
+                    <el-option v-for="(item, index) in ruleList" :value="item.ruleName" :key="index">{{ item.ruleName }}</el-option>
+                  </el-select>
+                  <el-button style="margin-left:10px;" type="primary" class="mr20" @click="confirm">确认</el-button>
+                </div>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+              <el-form-item v-if="attrs!=null&&attrs.length!==0">
+                <div  v-for="(item, index) in attrs" :key="index">
+                  <div class="acea-row row-middle"><span class="mr5">{{item.value}}</span>
+                    <i class="el-icon-circle-close"  @click="handleRemoveRole(index)"></i>
+                  </div>
+                  <div class="rulesBox">
+                    <el-tag type="dot" closable color="primary" v-for="(j, indexn) in item.detail" :key="indexn" :name="j" class="mr20" @close="handleRemove2(item.detail,indexn)">{{j}}</el-tag>
+                    <el-input placeholder="请输入属性名称" v-model="item.detail.attrsVal"
+                              style="width: 200px">
+                      <el-button slot="append" type="primary" @click="createAttr(item.detail.attrsVal,index)">添加</el-button>
+                    </el-input>
+                  </div>
+                </div>
+              </el-form-item>
+            </el-col>
+
+             <el-col :span="24" v-if="createBnt">
+              <el-form-item>
+                <el-button type="primary" size="small" icon="md-add" @click="addBtn" class="mr15">添加新规格</el-button>
+                <el-button type="success" size="small"  @click="generate">立即生成</el-button>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24" v-if="showIput">
+              <el-col  :xl="6" :lg="9" :md="10" :sm="24" :xs="24" >
+                <el-form-item label="规格:">
+                  <el-input  placeholder="请输入规格" v-model="formDynamic.attrsName"  />
+                </el-form-item>
+              </el-col>
+              <el-col  :xl="6" :lg="9" :md="10" :sm="24" :xs="24">
+                <el-form-item label="规格值:">
+                  <el-input v-model="formDynamic.attrsVal" placeholder="请输入规格值"  />
+                </el-form-item>
+              </el-col>
+              <el-col :xl="6" :lg="5" :md="10" :sm="24" :xs="24" >
+                  <el-button type="primary"    @click="createAttrName">确定</el-button>
+                  <el-button type="danger" @click="closeAttrName" >取消</el-button>
+              </el-col>
+            </el-col>
+            <!-- 多规格设置-->
+            <el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24" v-if="manyFormValidate!=null&&manyFormValidate.length">
+              <!-- 多规格表格-->
+              <el-col :span="24">
+                <el-form-item label="商品属性:" class="labeltop">
+
+                  <el-table :data="manyFormValidate" size="small" style="width: 90%;" border>
+                    <el-table-column type="myindex" v-for="(item,index) in form.header" :key="index"  :width="item.minWidth" :label="item.title" :property="item.slot" align="center">
+                      <template slot-scope="scope">
+                        <div v-if="scope.column.property == 'image'" align="center">
+                          <single-img v-model="scope.row[scope.column.property]" type="image" :num="1" :width="60" :height="60" />
+                        </div>
+                        <div v-else-if="scope.column.property.indexOf('value') != -1" align="center">
+                         {{ scope.row[scope.column.property] }}
+                        </div>
+                        <div v-else-if="scope.column.property == 'action'" align="center" >
+                          <a @click="delAttrTable(scope.$index)" align="center">删除</a>
+                        </div>
+                        <div v-else align="center">
+                          <el-input  v-model="scope.row[scope.column.property]" align="center" />
+                        </div>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+
+                </el-form-item>
+              </el-col>
+            </el-col>
+          </el-col>
+
+          <!-- 单规格表格-->
+          <el-col :xl="23" :lg="24" :md="24" :sm="24" :xs="24" v-if="form.specType === 0" style="">
+            <el-form-item >
+              <el-table :data="oneFormValidate"  size="small" border>
+                <el-table-column prop="image" label="图片" align="center">
+                  <template slot-scope="scope">
+                    <single-img v-model="scope.row.image" type="image" :num="1" :width="60" :height="60" />
+                  </template>
+                </el-table-column>
+                <el-table-column prop="price" label="售价" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.price"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="agentPrice" label="代理价" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.agentPrice"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="cost" label="成本价" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.cost"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="otPrice" label="原价" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.otPrice"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="stock" label="库存" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.stock" maxlength="7"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="barCode" label="商品编号" width="130px" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.barCode"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="barCode" label="组合编号" width="130px" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.groupBarCode"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="weight" label="重量(KG)" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.weight"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="volume" label="体积(m³)" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.volume"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="volume" label="所需积分" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.integral"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="volume" label="一级返佣" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.brokerage"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="volume" label="二级返佣" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.brokerageTwo"/>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="volume" label="三级返佣" align="center">
+                  <template slot-scope="scope">
+                    <el-input type="text" v-model="scope.row.brokerageThree"/>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="运费模板:" prop="tempId">
+              <div class="acea-row">
+                <el-select v-model="form.tempId"  class="mr20">
+                  <el-option v-for="(item,index) in templateList" :value="item.id" :key="index" :label="item.name">
+                  </el-option>
+                </el-select>
+              </div>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="商品详情" prop="description">
+           <editor ref="myeditor"   @on-text-change="updateText" disabled/>
+        </el-form-item>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="商品状态" prop="isShow">
+              <el-radio-group v-model="form.isShow">
+                <el-radio :label="item.dictValue" v-for="item in isShowOptions" >{{item.dictLabel}}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+           <el-form-item label="是否热卖" prop="isHot">
+              <el-radio-group v-model="form.isHot">
+                <el-radio :label="item.dictValue" v-for="item in isHotOptions" >{{item.dictLabel}}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="猜你喜欢" prop="isGood">
+              <el-radio-group v-model="form.isGood">
+                <el-radio :label="item.dictValue" v-for="item in isGoodOptions" >{{item.dictLabel}}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+         <el-row>
+          <el-col :span="8">
+            <el-form-item label="精品推荐" prop="isBest">
+              <el-radio-group v-model="form.isBest">
+                <el-radio :label="item.dictValue" v-for="item in isBestOptions" >{{item.dictLabel}}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+           <el-form-item label="新品首发" prop="isNew">
+              <el-radio-group v-model="form.isNew">
+                <el-radio :label="item.dictValue" v-for="item in isNewOptions" >{{item.dictLabel}}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="返还积分">
+              <el-input-number  v-model="form.giveIntegral" :min="0" placeholder="请输入积分" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="商城展示" prop="isDisplay">
+              <el-radio-group v-model="form.isDisplay">
+                <el-radio :label="item.dictValue" v-for="item in isDisplayOptions" >{{item.dictLabel}}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+
+            <el-form-item label="排序" prop="sort">
+               <el-input-number :min="0"  v-model="form.sort" placeholder="请输入排序" />
+            </el-form-item>
+          </el-col>
+           <el-col :span="8">
+            <el-form-item label="销量" prop="sales">
+               <el-input-number :min="0"  v-model="form.sales" placeholder="请输入销量" />
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+        <el-form-item label="推广分类" prop="tuiCateId">
+          <el-select style="width: 240px" v-model="form.tuiCateId" placeholder="请选择推广分类" clearable size="small" >
+            <el-option
+                    v-for="item in productTuiCateOptions"
+                    :key="item.dictValue"
+                    :label="item.dictLabel"
+                    :value="item.dictValue"
+                  />
+            </el-select>
+        </el-form-item>
+        <el-form-item label="商品类型" prop="productType">
+          <el-select style="width: 240px" v-model="form.productType" placeholder="请选择商品类型" clearable size="small" >
+            <el-option
+                    v-for="item in productTypeOptions"
+                    :key="item.dictValue"
+                    :label="item.dictLabel"
+                    :value="item.dictValue"
+                  />
+            </el-select>
+        </el-form-item>
+        <el-form-item label="所属公司">
+          <el-select style="width: 240px" v-model="form.companyIds" multiple placeholder="请选择企业" clearable size="small" >
+            <el-option
+                    v-for="item in companyOptions"
+                    :key="item.companyId"
+                    :label="item.companyName"
+                    :value="item.companyId"
+                  />
+            </el-select>
+        </el-form-item>
+        <el-form-item label="国药准字" v-if="form.productType==2" prop="prescribeCode">
+          <el-input v-model="form.prescribeCode" placeholder="请输入国药准字" />
+        </el-form-item>
+        <el-form-item label="规格" v-if="form.productType==2" prop="prescribeSpec">
+          <el-input v-model="form.prescribeSpec" placeholder="请输入规格" />
+        </el-form-item>
+        <el-form-item label="生产厂家" v-if="form.productType==2" prop="prescribeFactory">
+          <el-input v-model="form.prescribeFactory" placeholder="请输入生产厂家" />
+        </el-form-item>
+        <el-form-item label="处方名" v-if="form.productType==2" prop="prescribeName">
+          <el-input v-model="form.prescribeName" placeholder="请输入处方名" />
+        </el-form-item>
+      </el-form>
+      <el-divider content-position="left">审核</el-divider>
+      <el-form ref="form1" :model="form1" :rules="rules1" label-width="80px">
+        <el-form-item label="审核理由" prop="reason">
+          <el-input v-model="form1.reason" type="textarea" placeholder="请输入审核理由" />
+        </el-form-item>
+        <el-form-item label="图片说明" prop="attachment">
+          <ImageUpload  v-model="form1.attachImage" type="image" :limit=5 :width="150"
+                        :height="150"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="handleUpdate1(1)">审核通过</el-button>
+        <el-button type="primary" @click="handleUpdate1(2)">审核退回</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls"
+        :headers="upload.headers"
+        :action="upload.url + '?updateSupport=' + upload.updateSupport"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+        <div class="el-upload__tip text-center" slot="tip">
+          <div class="el-upload__tip" slot="tip">
+       <!--     <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的数据 -->
+          </div>
+          <span>仅允许导入xls、xlsx格式文件。</span>
+          <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
+        </div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import {
+  genFormatAttr,
+  listStoreProduct,
+  getStoreProduct,
+  delStoreProduct,
+  addOrEdit,
+  exportStoreProduct,
+  importTemplate,
+  batchModify, batchAudit
+} from '@/api/hisStore/storeProduct'
+import { getAllStoreProductCategory } from "@/api/hisStore/storeProductCategory";
+import { getAllStoreProductRule } from "@/api/hisStore/storeProductRule";
+import { getAllShippingTemplates } from "@/api/hisStore/shippingTemplates";
+import { getToken } from "@/utils/auth";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import Editor from '@/components/Editor/wang';
+import Material from '@/components/Material'
+import singleImg from '@/components/Material/single'
+import { getCompanyList } from "@/api/company/company";
+import { audit, listStore } from '@/api/hisStore/store'
+export default {
+  name: "HisStoreProductAudit",
+  components: {
+    Treeselect,
+    Editor,
+    Material,
+    singleImg,
+  },
+  watch: {
+    imageArr: function(val) {
+      this.form.image = val.join(',')
+    },
+    photoArr: function(val) {
+      this.form.sliderImage = val.join(',')
+    },
+    drugImageArr: function(val) {
+      this.form.drugImage = val.join(',');
+    }
+  },
+  data() {
+    return {
+      companyId: null,
+      storeId: null,
+      uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
+      //videoAccept:"video/*",
+      upload: {
+        // 是否显示弹出层
+        open: false,
+        // 弹出层标题
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: { Authorization: "Bearer " + getToken() },
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/store/storeProduct/importData"
+      },
+      // 添加药品相关字段
+      isDrugOptions: [
+        { dictValue: "0", dictLabel: "否" },
+        { dictValue: "1", dictLabel: "是" }
+      ],
+
+      // 药品展示图
+      drugImageArr: [],
+
+      productTuiCateOptions:[],
+      showIput: false,
+      createBnt:true,
+      // 规格数据
+      formDynamic: {
+        attrsName: '',
+        attrsVal: ''
+      },
+      open1: false,
+      form1: {},
+      isBtn: false,
+      columns: [],
+      attrs:[],
+      templateList:[],
+      ruleList:[],
+      // 多规格表格data
+      manyFormValidate: [],
+      // 单规格表格data
+      oneFormValidate: [
+        {
+          image: '',
+          price: 0,
+          cost: 0,
+          agentPrice: 0,
+          otPrice: 0,
+          stock: 0,
+          barCode: '',
+          weight: 0,
+          volume: 0,
+          integral: 0
+        }
+      ],
+      photoArr:[],
+      imageArr:[],
+      activeName:"1",
+      productTypeOptions:[],
+      isDisplayOptions:[],
+      isGoodOptions:[],
+      isNewOptions:[],
+      isBestOptions:[],
+      isHotOptions:[],
+      isShowOptions:[],
+      categoryOptions:[],
+      // 企业列表
+      companyOptions:[],
+      storeOptions:[],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: false,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      isFullscreen: false,
+      // 总条数
+      total: 0,
+      // 商品表格数据
+      storeProductList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        productName: null,
+        productType: null,
+        isShow: "1",
+        barCode:null,
+        companyIds: null
+      },
+      // 表单参数
+      form: {},
+      rules1: {
+        reason: [
+          { required: true, message: "审核理由不能为空", trigger: "blur" }
+        ]
+      },
+      // 表单校验
+      rules: {
+        image: [
+          { required: true, message: "商品图片不能为空", trigger: "blur" }
+        ],
+        sliderImage: [
+          { required: true, message: "轮播图不能为空", trigger: "blur" }
+        ],
+        productName: [
+          { required: true, message: "商品名称不能为空", trigger: "blur" }
+        ],
+        productInfo: [
+          { required: true, message: "商品简介不能为空", trigger: "blur" }
+        ],
+        unitName: [
+          { required: true, message: "单位名不能为空", trigger: "blur" }
+        ],
+        keyword: [
+          { required: true, message: "关键字不能为空", trigger: "blur" }
+        ],
+        cateId: [
+          { required: true, message: "分类id不能为空", trigger: "blur" }
+        ],
+        price: [
+          { required: true, message: "商品价格不能为空", trigger: "blur" }
+        ],
+        prescribeCode: [
+          { required: true, message: "国药准字不能为空", trigger: "blur" }
+        ],
+        prescribeSpec: [
+          { required: true, message: "规格不能为空", trigger: "blur" }
+        ],
+        prescribeFactory: [
+          { required: true, message: "生产厂家不能为空", trigger: "blur" }
+        ],
+        prescribeName: [
+          { required: true, message: "处方药不能为空", trigger: "blur" }
+        ],
+        companyIds: [
+          { required: true, message: "销售公司不能为空", trigger: "blur" }
+        ],
+        // 药品相关字段校验(仅在是药品时必填)
+        drugImage: [
+          { required: true, message: "药品展示图不能为空", trigger: "blur" }
+        ],
+        drugRegCertNo: [
+          { required: true, message: "药品注册证书编号不能为空", trigger: "blur" }
+        ],
+        commonName: [
+          { required: true, message: "通用名称不能为空", trigger: "blur" }
+        ],
+        dosageForm: [
+          { required: true, message: "剂型不能为空", trigger: "blur" }
+        ],
+        unitPrice: [
+          { required: true, message: "单价不能为空", trigger: "blur" }
+        ],
+        batchNumber: [
+          { required: true, message: "批号不能为空", trigger: "blur" }
+        ],
+        mah: [
+          { required: true, message: "上市许可持有人不能为空", trigger: "blur" }
+        ],
+        mahAddress: [
+          { required: true, message: "上市许可持有人地址不能为空", trigger: "blur" }
+        ],
+        manufacturer: [
+          { required: true, message: "生产企业不能为空", trigger: "blur" }
+        ],
+        manufacturerAddress: [
+          { required: true, message: "生产企业地址不能为空", trigger: "blur" }
+        ],
+        indications: [
+          { required: true, message: "功能主治不能为空", trigger: "blur" }
+        ],
+        dosage: [
+          { required: true, message: "用法用量不能为空", trigger: "blur" }
+        ],
+        adverseReactions: [
+          { required: true, message: "不良反应不能为空", trigger: "blur" }
+        ],
+        contraindications: [
+          { required: true, message: "禁忌不能为空", trigger: "blur" }
+        ],
+        precautions: [
+          { required: true, message: "注意事项不能为空", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getDicts("store_product_tui_cate").then((response) => {
+      this.productTuiCateOptions = response.data;
+    });
+    this.getDicts("store_product_enable").then((response) => {
+      this.isNewOptions = response.data;
+      this.isBestOptions = response.data;
+      this.isHotOptions = response.data;
+      this.isGoodOptions=response.data;
+      this.isDisplayOptions=response.data;
+      console.log(response.data)
+    });
+    this.getDicts("store_product_type").then((response) => {
+      this.productTypeOptions = response.data;
+    });
+    this.getDicts("store_product_is_show").then((response) => {
+      this.isShowOptions = response.data;
+    });
+    getAllShippingTemplates().then(response => {
+      this.templateList =response.data;
+    });
+    getAllStoreProductRule().then(response => {
+      this.ruleList =response.data;
+    });
+    getCompanyList().then(response => {
+      this.companyOptions = response.data;
+    });
+    listStore().then(response => {
+      this.storeOptions = response.rows;
+    });
+    this.getTreeselect();
+    this.getList();
+  },
+  methods: {
+    cancel1(){
+      this.open1 = false;
+      this.form1.attachImage=null;
+      this.form1.reason=null;
+    },
+    handleFullScreen(){
+      this.isFullscreen = !this.isFullscreen;
+    },
+    handleSuccess(response, file) {
+      // 上传成功后的回调函数
+      this.myloading.close();
+      //this.form.video = response.url;
+      this.$refs.upload.clearFiles();
+    },
+    beforeUpload(file) {
+      const isLt2M = file.size / 1024 / 1024 < 2;
+      if (!isLt2M) {
+        this.$message.error('上传视频文件大小不能超过 2MB!');
+        return false;
+      }
+      this.myloading = this.$loading({
+        lock: true,
+        text: '上传中',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
+      this.getList();
+    },
+    handleImport() {
+      this.upload.title = "商品导入";
+      this.upload.open = true;
+    },
+    importTemplate() {
+      importTemplate().then(response => {
+        this.download(response.msg);
+      });
+    },
+    // 删除表格中的属性
+    delAttrTable (index) {
+      this.manyFormValidate.splice(index, 1);
+    },
+    addBtn () {
+      this.clearAttr();
+      this.createBnt = false;
+      this.showIput = true;
+    },
+    //生成SKU
+    generate () {
+      genFormatAttr(this.form.productId, { attrs: this.attrs }).then(res => {
+        if(this.form.specType === 0){
+            this.oneFormValidate = res.value;
+            this.form.header = res.header;
+            let header = res.header;
+            header.pop();
+            this.oneFormValidate.map((item) => {
+              if(this.imageArr.length>0){
+                item.image = this.imageArr[0]
+              }
+            });
+        }else if(this.form.specType === 1) {
+            this.manyFormValidate = res.value;
+            let headerdel = {
+              title: '操作',
+              slot: 'action',
+              fixed: 'right',
+              width: 220
+            };
+            res.header.push(headerdel);
+            this.form.header = res.header;
+            let header = res.header;
+            header.pop();
+            // this.manyFormValidate.map((item) => {
+            //   if(this.imageArr.length>0){
+            //     item.image = this.imageArr[0]
+            //   }
+            // });
+        }
+
+      }).catch(res => {
+      })
+    },
+    // 取消添加新规格
+    closeAttrName () {
+      this.showIput = false;
+      this.createBnt = true;
+    },
+    clearAttr () {
+      this.formDynamic.attrsName = '';
+      this.formDynamic.attrsVal = '';
+    },
+    // 删除规格
+    handleRemoveRole (index) {
+      this.attrs.splice(index, 1);
+      this.manyFormValidate.splice(index, 1);
+    },
+    // 删除属性
+    handleRemove2 (item, index) {
+      item.splice(index, 1);
+    },
+    // 添加规则名称
+    createAttrName () {
+      if (this.formDynamic.attrsName && this.formDynamic.attrsVal) {
+        let data = {
+          value: this.formDynamic.attrsName,
+          detail: [
+            this.formDynamic.attrsVal
+          ]
+        };
+        this.attrs.push(data);
+        var hash = {};
+        this.attrs = this.attrs.reduce(function (item, next) {
+          hash[next.value] ? '' : hash[next.value] = true && item.push(next);
+          return item
+        }, [])
+        this.clearAttr();
+        this.showIput = false;
+        this.createBnt = true;
+      } else {
+        this.$message.warning('请添加完整的规格!');
+      }
+    },
+    // 添加属性
+    createAttr (num, idx) {
+      if (num) {
+        this.attrs[idx].detail.push(num);
+        var hash = {};
+        this.attrs[idx].detail = this.attrs[idx].detail.reduce(function (item, next) {
+          hash[next] ? '' : hash[next] = true && item.push(next);
+          return item
+        }, [])
+      } else {
+        this.$message.warning('请添加属性!');
+      }
+    },
+    confirm () {
+      let that = this;
+      that.createBnt = true;
+      if (that.form.selectRule==null||that.form.selectRule.trim().length <= 0) {
+        return this.$message({
+          message:'请选择属性',
+          type: 'error'
+        });
+      }
+      that.ruleList.forEach(function (item, index) {
+        if (item.ruleName === that.form.selectRule) {
+          that.attrs =JSON.parse( item.ruleValue);
+
+        }
+      });
+
+    },
+    updateText(text){
+      this.form.description=text
+    },
+    handleClick(tab, event) {
+      this.queryParams.isShow=tab.name;
+      this.getList();
+    },
+    /** 转换商品分类数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.cateId,
+        label: node.cateName,
+        children: node.children
+      };
+    },
+    getTreeselect() {
+      getAllStoreProductCategory().then(response => {
+        this.categoryOptions = [];
+        const data = this.handleTree(response.data, "cateId", "pid");
+        this.categoryOptions=data;
+      });
+    },
+    /** 查询商品列表 */
+    getList() {
+      this.loading = true;
+      this.queryParams.isAudit= "0";
+      listStoreProduct(this.queryParams).then(response => {
+        this.storeProductList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        productId: 0,
+        image: null,
+        video: null,
+        sliderImage: null,
+        productName: null,
+        productInfo: null,
+        keyword: null,
+        barCode: null,
+        cateId: null,
+        price: null,
+        vipPrice: null,
+        otPrice: null,
+        postage: null,
+        unitName: null,
+        sort: null,
+        sales: null,
+        stock: null,
+        isShow: "0",
+        isHot: "0",
+        isBenefit: "0",
+        isBest: "0",
+        isNew: "0",
+        description: null,
+        createTime: null,
+        updateTime: null,
+        isPostage: null,
+        isDel: null,
+        giveIntegral: null,
+        cost: null,
+        isGood: "0",
+        browse: null,
+        codePath: null,
+        tempId: "",
+        specType: 0,
+        isIntegral: null,
+        integral: null,
+        productType: "1",
+        prescribeCode: null,
+        prescribeSpec: null,
+        prescribeFactory: null,
+        prescribeName: null,
+        isDisplay:"1",
+        companyIds:[],
+        isDrug: "0", // 是否药品
+        drugImage: 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.drugImageArr = [];
+      this.resetForm("form");
+      this.oneFormValidate = [
+        {
+          image: '',
+          price: 0,
+          agentPrice: 0,
+          cost: 0,
+          otPrice: 0,
+          stock: 0,
+          barCode: '',
+          weight: 0,
+          volume: 0,
+          integral: 0,
+          brokerage:0,
+          brokerageTwo:0
+        }
+      ]
+      this.attrs=[];
+      this.photoArr=[];
+      this.imageArr=[];
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.queryParams.companyIds = this.companyId +''
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.productId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      if(this.ids.length > 1){
+        //判断是否为药品
+        this.title = "批量审核商品";
+        this.open1 = true;
+        return;
+      }
+      var that=this;
+      this.reset();
+      const productId = row.productId || this.ids
+      getStoreProduct(productId).then(response => {
+        this.form = response.data;
+        //设置cateId => cateName
+        this.form.cateName = this.selectDictLabel(this.categoryOptions, response.data.cateId);
+        this.form.isShow = response.data.isShow.toString();
+        this.form.isHot = response.data.isHot.toString();
+        this.form.isGood = response.data.isGood.toString();
+        this.form.isBest = response.data.isBest.toString();
+        this.form.isNew = response.data.isNew.toString();
+        this.form.productType = response.data.productType.toString();
+        this.form.isDisplay = response.data.isDisplay.toString();
+        if(this.form.tuiCateId!=null){
+          this.form.tuiCateId = response.data.tuiCateId.toString();
+        }
+
+        this.form.isDrug = response.data.isDrug ? response.data.isDrug.toString() : "0";
+        if (this.form.drugImage != null) {
+          this.drugImageArr = this.form.drugImage.split(",");
+        }
+
+        //组装attrs数据
+        if(response.attrs!=null){
+          this.attrs=[];
+          response.attrs.forEach(function (item, index) {
+             var data={value:item.attrName,detail:item.attrValues.split(',')}
+             that.attrs.push(data);
+          });
+        }
+        // 组装companyIds
+        if (response.data.companyIds != null && response.data.companyIds != undefined && response.data.companyIds.length > 0) {
+          this.form.companyIds = response.data.companyIds.split(',').map(Number);
+        }
+        setTimeout(() => {
+          that.generate();
+        }, 200);
+        if(this.form.specType === 0){
+          that.manyFormValidate = [];
+        }else {
+          that.createBnt = true;
+          that.oneFormValidate = [
+            {
+              image: '',
+              price: 0,
+              agentPrice: 0,
+              cost: 0,
+              otPrice: 0,
+              stock: 0,
+              barCode: '',
+              weight: 0,
+              volume: 0,
+              integral: 0,
+              brokerage:0,
+              brokerageTwo:0
+            }
+          ]
+        }
+        setTimeout(() => {
+          if(this.form.description==null){
+            this.$refs.myeditor.setText("");
+          }
+          else{
+            this.$refs.myeditor.setText(this.form.description);
+          }
+        }, 200);
+        if(this.form.image!=null){
+          this.imageArr=this.form.image.split(",");
+        }
+        if(this.form.sliderImage!=null){
+          this.photoArr=this.form.sliderImage.split(",");
+        }
+        console.log(this.oneFormValidate)
+        this.open = true;
+        this.title = "审核商品";
+      });
+    },
+    handleUpdate1(oper) {
+      let operStr = oper === 1 ? "审核通过" : "审核退回";
+      this.$confirm("是否确认"+operStr+"店铺?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(()=> {
+        let param = {}
+        param.productIds = [this.form.productId];
+        param.reason = this.form1.reason;
+        param.attachImage = this.form1.attachImage;
+        param.isAudit=oper;
+        return batchAudit(param);
+      }).then(res => {
+        if(res.code === 200){
+          this.$message.success("审核成功");
+          this.open = false;
+          this.form = null;
+          this.form1.auditReason = null;
+          this.form1.attachment = null;
+          this.getList();
+        }else{
+          this.$message.error("审核失败",res.msg);
+        }
+      }).catch(function() {
+
+      }).finally(()=>{
+      });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有商品数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportStoreProduct(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+    },
+    /** 批量审核按钮操作 */
+    handleBatchUpdate(oper) {
+      let operStr = oper === 1 ? "审核通过" : "审核退回";
+      this.$confirm("是否确认批量"+operStr+"商品?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(()=> {
+        let param = {}
+        param.productIds = this.ids;
+        param.reason = this.form1.reason;
+        param.attachImage = this.form1.attachImage;
+        param.isAudit=oper;
+        console.log("param",param)
+        return batchAudit(param);
+      }).then(res => {
+        if(res.code === 200){
+          this.$message.success("批量审核成功");
+          this.getList();
+        }else{
+          this.$message.error("批量审核失败",res.msg);
+        }
+      }).catch(function() {
+
+      }).finally(()=>{
+        this.open1 = false;
+        this.form1.reason = null;
+        this.form1.attachImage = null;
+      });
+    }
+  }
+};
+</script>
+<style scoped>::v-deep .el-upload-list__item-delete {
+  display: none !important;
+}
+</style>