Sfoglia il codice sorgente

医健宝-商品、店铺、销售公司个性化功能开关

chenguo 1 settimana fa
parent
commit
acc3406b25

+ 18 - 2
src/store/modules/user.js

@@ -8,7 +8,11 @@ const user = {
     user:undefined,
     avatar: '',
     roles: [],
-    permissions: []
+    permissions: [],
+    isAdmin: false,
+    isMedicalMall: false,
+    isPadLimit: false,
+    isStores: false
   },
 
   mutations: {
@@ -32,6 +36,15 @@ const user = {
     },
     SET_ISADMIN: (state, isAdmin) => {
       state.isAdmin = isAdmin
+    },
+    SET_MEDICALMALL: (state, isMedicalMall) => {
+      state.isMedicalMall = isMedicalMall
+    },
+    SET_PADLIMIT: (state, isPadLimit) => {
+      state.isPadLimit = isPadLimit
+    },
+    SET_ISSTORES: (state, isStores) => {
+      state.isStores = isStores
     }
   },
 
@@ -69,13 +82,16 @@ const user = {
           commit('SET_AVATAR', avatar)
           commit('SET_USER', user)
           commit('SET_ISADMIN', res.isAdmin)
+          commit('SET_MEDICALMALL', res.isMedicalMall)
+          commit('SET_PADLIMIT', res.isPadLimit)
+          commit('SET_ISSTORES', res.isStores)
           resolve(res)
         }).catch(error => {
           reject(error)
         })
       })
     },
-    
+
     // 退出系统
     LogOut({ commit, state }) {
       return new Promise((resolve, reject) => {

+ 5 - 6
src/views/his/company/index.vue

@@ -114,9 +114,9 @@
       </el-table-column>
       <el-table-column label="管理员账号" align="center" prop="userName" />
       <el-table-column label="限制用户数量" align="center" prop="limitUserCount" />
-      <el-table-column label="限制pad数量" align="center" prop="maxPadNum" :formatter="padNumFormatter"/>
-      <el-table-column label="占用pad数量" align="center" prop="usedNum" />
-      <el-table-column label="所属部门" align="center" prop="deptId" >
+      <el-table-column label="限制pad数量" align="center" prop="maxPadNum" :formatter="padNumFormatter" v-if="this.$store.state.user.isPadLimit"/>
+      <el-table-column label="占用pad数量" align="center" prop="usedNum" v-if="this.$store.state.user.isPadLimit"/>
+      <el-table-column label="所属部门" align="center" prop="deptId" v-if="this.$store.state.user.isStores">
         <template slot-scope="scope">
           <el-tag prop="deptId" v-for="(item, index) in deptOptions" :key="'deptId'+index"   v-if="scope.row.deptId===item.deptId">{{item.deptName}}</el-tag>
         </template>
@@ -200,7 +200,7 @@
             </el-select>
         </el-form-item>
       <!-- 所属部门 -->
-        <el-form-item label="所属部门" prop="deptId">
+        <el-form-item label="所属部门" prop="deptId" v-if="this.$store.state.user.isStores">
           <el-select
             v-model="form.deptId"
             placeholder="请选择"
@@ -227,7 +227,7 @@
         <el-form-item label="员工数量" prop="limitUserCount">
           <el-input-number v-model="form.limitUserCount"  :min="1" :max="10000"  ></el-input-number>
         </el-form-item>
-        <el-form-item label="pad数量" prop="maxPadNum">
+        <el-form-item label="pad数量" prop="maxPadNum" v-if="this.$store.state.user.isPadLimit">
           <el-input-number v-model="form.maxPadNum"  :min="-1" :max="10000"  ></el-input-number>
           <span class="pad-tips">
             注:-1表示不做限制
@@ -902,7 +902,6 @@ export default {
         }).catch(() => {});
     },
     padNumFormatter(row){
-      console.log(row.maxPadNum.type)
       return row.maxPadNum === -1 ? '不限' : row.maxPadNum
     }
   }

+ 164 - 163
src/views/hisStore/store/index.vue

@@ -313,169 +313,170 @@
             </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>
-
+        <div v-if="this.$store.state.user.isMedicalMall">
+          <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>
+        </div>
 
         <el-divider content-position="left">店铺配置信息</el-divider>
         <el-form-item label="退货地址" prop="refundAddress">

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

@@ -57,6 +57,7 @@
           />
         </el-select>
       </el-form-item>
+      <div v-if="this.isMedicalMall">
       <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>
@@ -202,6 +203,7 @@
 
         />
       </el-form-item>
+      </div>
       <!-- <el-form-item label="状态" prop="isShow">
          <el-select style="width: 240px" v-model="queryParams.isShow" placeholder="请选择状态" clearable size="small" >
          <el-option
@@ -438,7 +440,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <div v-if="form.isDrug === '1'">
+        <div v-if="form.isDrug === '1' && this.isMedicalMall">
           <el-form-item label="药品展示图" prop="drugImage">
             <Material v-model="drugImageArr" type="image" :num="1" :width="150" :height="150" />
           </el-form-item>
@@ -937,6 +939,7 @@ export default {
   },
   data() {
     return {
+      isMedicalMall: this.$store.state.user.isMedicalMall,
       companyId: null,
       storeId: null,
       isAudit: null,
@@ -1164,6 +1167,11 @@ export default {
     });
     this.getDicts("store_product_type").then((response) => {
       this.productTypeOptions = response.data;
+      if(!this.isMedicalMall &&
+      this.productTypeOptions.length === 4){
+        //删除后两项
+        this.productTypeOptions.splice(2,2);
+      }
     });
     this.getDicts("store_product_is_show").then((response) => {
       this.isShowOptions = response.data;
@@ -1268,7 +1276,7 @@ export default {
     },
     //生成SKU
     generate () {
-      genFormatAttr(this.form.productId, { attrs: this.attrs }).then(res => {
+      genFormatAttr(this.form.productId, { attrs:JSON.stringify({attrs: this.attrs}),storeIds: null}).then(res => {
         if(this.form.specType === 0){
           this.oneFormValidate = res.value;
           this.form.header = res.header;