Explorar o código

功能开关改造,新增平台配置页面

chenguo hai 7 horas
pai
achega
3cc6f9f613

+ 10 - 0
src/api/hisStore/configInit.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 查询参数列表
+export function initMedicalMallConfig(query) {
+  return request({
+    url: '/configInit/initMedicalMallConfig',
+    method: 'get',
+    params: query
+  })
+}

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

@@ -74,3 +74,11 @@ export function getStoreAuditLog(storeId) {
     method: 'get'
   })
 }
+
+export function getStoreColumns(query) {
+  return request({
+    url: '/store/his/store/getStoreColumns',
+    method: 'get',
+    params: query
+  })
+}

+ 8 - 0
src/api/hisStore/storeProduct.js

@@ -101,4 +101,12 @@ export function productBySearCh(query) {
   })
 }
 
+export function getStoreProductColumns(query) {
+  return request({
+    url: '/store/store/storeProduct/getStoreProductColumns',
+    method: 'get',
+    params: query
+  })
+}
+
 

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

@@ -9,8 +9,7 @@ const user = {
     avatar: '',
     roles: [],
     permissions: [],
-    isAdmin: false,
-    medicalMallConfig: {medicalMall: false,statics: false,audit:false,resource:false,stores:false}
+    isAdmin: false
   },
 
   mutations: {

+ 0 - 1
src/views/company/companyTraffic/index.vue

@@ -230,7 +230,6 @@ export default {
 
       listTrafficRecords(this.queryParams).then(response => {
         this.trafficRecordList = response.rows;
-        console.log(this.trafficRecordList)
         this.total = response.total;
         this.loading = false;
       });

+ 24 - 15
src/views/hisStore/components/storeDetails.vue

@@ -98,68 +98,66 @@
         <el-descriptions-item label="营业执照有效期" >
           <span v-if="item!=null">{{item.businessLicenseExpireStart}} - {{item.businessLicenseExpireEnd}}</span>
         </el-descriptions-item>
-        <div v-if="this.$store.state.user.medicalMallConfig.medicalMall">
-        <el-descriptions-item label="药品经营许可证" >
+        <el-descriptions-item label="药品经营许可证" v-if="medicalMallConfig.isMedicalMall">
           <el-image
             style="width: 100px"
             :src="item.drugLicense"
             :preview-src-list="[item.drugLicense]">
           </el-image>
         </el-descriptions-item>
-        <el-descriptions-item label="药品经营许可证有效期" >
+        <el-descriptions-item label="药品经营许可证有效期" v-if="medicalMallConfig.isMedicalMall">
           <span v-if="item!=null">{{item.drugLicenseExpiryStart}} - {{item.drugLicenseExpiryEnd}}</span>
         </el-descriptions-item>
-        <el-descriptions-item label="1类器械生产" >
+        <el-descriptions-item label="1类器械生产" v-if="medicalMallConfig.isMedicalMall">
           <el-image
             style="width: 100px"
             :src="item.medicalDevice1"
             :preview-src-list="[item.medicalDevice1]">
           </el-image>
         </el-descriptions-item>
-        <el-descriptions-item label="1类器械生产有效期" >
+        <el-descriptions-item label="1类器械生产有效期" v-if="medicalMallConfig.isMedicalMall">
           <span v-if="item!=null">{{item.medicalDevice1ExpiryStart}} - {{item.medicalDevice1ExpiryEnd}}</span>
         </el-descriptions-item>
-        <el-descriptions-item label="2类器械备案" >
+        <el-descriptions-item label="2类器械备案" v-if="medicalMallConfig.isMedicalMall">
           <el-image
             style="width: 100px"
             :src="item.medicalDevice2"
             :preview-src-list="[item.medicalDevice2]">
           </el-image>
         </el-descriptions-item>
-        <el-descriptions-item label="2类器械备案有效期" >
+        <el-descriptions-item label="2类器械备案有效期" v-if="medicalMallConfig.isMedicalMall">
           <span v-if="item!=null">{{item.medicalDevice2ExpiryStart}} - {{item.medicalDevice2ExpiryEnd}}</span>
         </el-descriptions-item>
-        <el-descriptions-item label="3类器械营业许可证" >
+        <el-descriptions-item label="3类器械营业许可证" v-if="medicalMallConfig.isMedicalMall">
           <el-image
             style="width: 100px"
             :src="item.medicalDevice3"
             :preview-src-list="[item.medicalDevice3]">
           </el-image>
         </el-descriptions-item>
-        <el-descriptions-item label="3类器械营业许可证有效期" >
+        <el-descriptions-item label="3类器械营业许可证有效期" v-if="medicalMallConfig.isMedicalMall">
           <span v-if="item!=null">{{item.medicalDevice3ExpiryStart}} - {{item.medicalDevice3ExpiryEnd}}</span>
         </el-descriptions-item>
-        <el-descriptions-item label="食品许可证" >
+        <el-descriptions-item label="食品许可证" v-if="medicalMallConfig.isMedicalMall">
           <el-image
             style="width: 100px"
             :src="item.foodLicense"
             :preview-src-list="[item.foodLicense]">
           </el-image>
         </el-descriptions-item>
-        <el-descriptions-item label="食品许可证有效期" >
+        <el-descriptions-item label="食品许可证有效期" v-if="medicalMallConfig.isMedicalMall">
           <span v-if="item!=null">{{item.foodLicenseExpiryStart}} - {{item.foodLicenseExpiryEnd}}</span>
         </el-descriptions-item>
-        <el-descriptions-item label="药品许可证" >
+        <el-descriptions-item label="药品许可证" v-if="medicalMallConfig.isMedicalMall">
           <el-image
             style="width: 100px"
             :src="item.medicalLicense"
             :preview-src-list="[item.medicalLicense]">
           </el-image>
         </el-descriptions-item>
-        <el-descriptions-item label="药品许可证有效期" >
+        <el-descriptions-item label="药品许可证有效期" v-if="medicalMallConfig.isMedicalMall">
           <span v-if="item!=null">{{item.medicalLicenseExpiryStart}} - {{item.medicalLicenseExpiryEnd}}</span>
         </el-descriptions-item>
-        </div>
 
 
 
@@ -180,7 +178,7 @@
           <el-button type="primary" @click="handleUpdate(-1)">审核退回</el-button>
         </div>
       </div>
-      <div v-if="item.isAudit!==0 && this.$store.state.user.medicalMallConfig.medicalMall" class="dialog">
+      <div v-if="item.isAudit!==0 && medicalMallConfig.isAudit" 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" />
@@ -211,6 +209,7 @@
 
 <script>
 import { audit, getStore, getStoreAuditLog } from '@/api/hisStore/store'
+import { getConfigByKey } from '@/api/system/config'
 export default {
   name: 'user',
   props:['data'],
@@ -220,6 +219,7 @@ export default {
       statusOptions: [],
       // 审核状态字典
       isAuditOptions: [],
+      medicalMallConfig:{},
       item:null,
       logoUrl:[],
       form: {
@@ -234,6 +234,11 @@ export default {
     }
   },
   created() {
+    getConfigByKey("medicalMall.func.switch").then(response => {
+      if(response.data && response.data.configValue) {
+        this.medicalMallConfig = JSON.parse(response.data.configValue);
+      }
+    });
     this.getDicts('sys_company_status').then(response => {
       this.statusOptions = response.data
     })
@@ -246,6 +251,10 @@ export default {
     this.form1 = {}
   },
   methods: {
+    _console(param){
+      console.log(param)
+      return true;
+    },
     getDetails(orderId,showAudit) {
       if(showAudit === 0) {
         this.showAudit = false

+ 8 - 2
src/views/hisStore/store/audit.vue

@@ -116,7 +116,7 @@
 
       <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" v-if="this.$store.state.user.medicalMallConfig.medicalMall">
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="130px" v-if="medicalMallConfig.isAudit">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -168,6 +168,7 @@
 import { audit,listStore, exportStore } from "@/api/hisStore/store";
 import storeDetails from '../components/storeDetails.vue';
 import {getCitys} from "@/api/store/city";
+import { getConfigByKey } from '@/api/system/config'
 export default {
   name: "adutstore",
   components: { storeDetails },
@@ -177,7 +178,7 @@ export default {
         title:"店铺详情",
         open:false,
       },
-
+      medicalMallConfig:{},
       citys:[],
       licenseuploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
       uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
@@ -260,6 +261,11 @@ export default {
   created() {
     this.getCitys();
     this.getList();
+    getConfigByKey("medicalMall.func.switch").then(response => {
+      if(response.data && response.data.configValue) {
+        this.medicalMallConfig = JSON.parse(response.data.configValue);
+      }
+    });
     this.getDicts("sys_company_status").then(response => {
       this.statusOptions = response.data;
     });

+ 29 - 45
src/views/hisStore/store/index.vue

@@ -313,7 +313,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <div v-if="this.$store.state.user.medicalMallConfig.medicalMall">
+        <div v-if="medicalMallConfig.isMedicalMall">
           <el-row>
             <el-col :span="12">
               <el-form-item label="药品经营许可证上传" prop="drugLicense">
@@ -574,6 +574,7 @@
 import { listStore, getStore, delStore, addStore, updateStore, exportStore, refreshPasWod } from '@/api/hisStore/store'
 import storeDetails from '../components/storeDetails.vue';
 import {getCitys} from "@/api/store/city";
+import { getConfigByKey } from '@/api/system/config'
 export default {
   name: "Store",
   components: { storeDetails },
@@ -584,6 +585,7 @@ export default {
         open: false,
       },
       shippingType: [],
+      medicalMallConfig:{},
       citys: [],
       licenseuploadUrl: process.env.VUE_APP_BASE_API + "/common/uploadOSS",
       uploadUrl: process.env.VUE_APP_BASE_API + "/common/uploadOSS",
@@ -723,6 +725,11 @@ export default {
   created() {
     this.getCitys();
     this.getList();
+    getConfigByKey("medicalMall.func.switch").then(response => {
+      if(response.data && response.data.configValue) {
+        this.medicalMallConfig = JSON.parse(response.data.configValue);
+      }
+    });
     this.getDicts("sys_company_status").then(response => {
       this.statusOptions = response.data;
     });
@@ -913,52 +920,29 @@ export default {
           this.form.deliveryType = JSON.stringify(this.form.deliveryType)
         }
 
-        // 处理日期范围字段
-        if (this.form.drugLicenseExpiryStart && this.form.drugLicenseExpiryEnd) {
-          this.form.drugLicenseExpiry = [
-            this.form.drugLicenseExpiryStart,
-            this.form.drugLicenseExpiryEnd
-          ];
-        }
+        // 确保正确处理所有日期范围字段
+        const dateFields = [
+          'drugLicenseExpiry',
+          'medicalDevice1Expiry',
+          'medicalDevice2Expiry',
+          'medicalDevice3Expiry',
+          'foodLicenseExpiry',
+          'medicalLicenseExpiry',
+          'businessLicenseExpire'
+        ];
 
-        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
-          ];
-        }
+        dateFields.forEach(field => {
+          const startField = field + 'Start';
+          const endField = field + 'End';
 
-        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
-          ];
-        }
+          if (this.form[startField] && this.form[endField]) {
+            // 使用 $set 确保响应式更新
+            this.$set(this.form, field, [
+              this.form[startField],
+              this.form[endField]
+            ]);
+          }
+        });
 
       });
     },

+ 49 - 44
src/views/hisStore/storeProduct/index.vue

@@ -47,7 +47,7 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="所属店铺" v-if="this.isStores">
+      <el-form-item label="所属店铺" v-if="medicalMallConfig.isStores">
         <el-select style="width: 240px" v-model="queryParams.storeIds" placeholder="请选择店铺" clearable size="small" >
           <el-option
             v-for="item in storeOptions"
@@ -57,7 +57,7 @@
           />
         </el-select>
       </el-form-item>
-      <div v-if="this.isMedicalMall">
+      <div v-if="medicalMallConfig.isAudit">
       <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>
@@ -296,7 +296,7 @@
       <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="storeName" v-if="this.isStores"/>
+      <el-table-column label="所属店铺" align="center" prop="storeName" v-if="medicalMallConfig.isStores"/>
       <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>
@@ -444,7 +444,7 @@
           <el-form-item label="药品展示图" prop="drugImage">
             <Material v-model="drugImageArr" type="image" :num="1" :width="150" :height="150" />
           </el-form-item>
-          <div v-if="this.isMedicalMall">
+          <div v-if="medicalMallConfig.isMedicalMall">
           <el-row>
             <el-col :span="12">
               <el-form-item label="药品注册证书编号" prop="drugRegCertNo">
@@ -837,7 +837,7 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="所属店铺" prop="storeId" v-if="this.isStores">
+        <el-form-item label="所属店铺" prop="storeId" v-if="medicalMallConfig.isStores">
           <el-select style="width: 240px" v-model="form.storeId" placeholder="请选择店铺" clearable size="small" >
             <el-option
               v-for="item in storeOptions"
@@ -919,6 +919,7 @@ import Material from '@/components/Material'
 import singleImg from '@/components/Material/single'
 import { getCompanyList } from "@/api/company/company";
 import { listStore } from '@/api/hisStore/store'
+import { getConfigByKey } from '@/api/system/config'
 export default {
   name: "HisStoreProduct",
   components: {
@@ -927,6 +928,48 @@ export default {
     Material,
     singleImg,
   },
+  created() {
+    this.getDicts("store_product_tui_cate").then((response) => {
+      this.productTuiCateOptions = response.data;
+    });
+    getConfigByKey("medicalMall.func.switch").then(response => {
+      if(response.data && response.data.configValue) {
+        this.medicalMallConfig = JSON.parse(response.data.configValue);
+      }
+    });
+    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;
+    });
+    this.getDicts("store_product_type").then((response) => {
+      this.productTypeOptions = response.data;
+      if(!this.medicalMallConfig.isMedicalMall &&
+      this.productTypeOptions.length === 4){
+        //删除后两项
+        this.productTypeOptions.splice(2,2);
+      }
+    });
+    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();
+  },
   watch: {
     imageArr: function(val) {
       this.form.image = val.join(',')
@@ -940,8 +983,7 @@ export default {
   },
   data() {
     return {
-      isMedicalMall: this.$store.state.user.medicalMallConfig.medicalMall,
-      isStores: this.$store.state.user.medicalMallConfig.stores,
+      medicalMallConfig:{},
       companyId: null,
       storeId: null,
       isAudit: null,
@@ -1156,43 +1198,6 @@ export default {
       }
     };
   },
-  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;
-    });
-    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;
-    });
-    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;

+ 9 - 1
src/views/index.vue

@@ -233,7 +233,7 @@
           </el-radio-group>
         </div>
         <div class="action-group">
-          <div v-if="this.$store.state.user.medicalMallConfig.statics">
+          <div v-if="medicalMallConfig.statics">
             <!-- 选择部门 -->
             <el-select v-model="deptId" placeholder="请选择部门" size="small" @change="handleDeptChange" style="width: 150px">
               <el-option
@@ -549,6 +549,7 @@ import {
 import dayjs from 'dayjs';
 import { listDept } from '@/api/system/dept'
 import { listCompany } from '@/api/his/company'
+import { getConfigByKey } from '@/api/system/config'
 
 
 const viewCharOption = {
@@ -883,6 +884,7 @@ export default {
   components: {CountTo},
   data() {
     return {
+      medicalMallConfig:{},
       deptInitOptions:[],
       deptOptions:[],
       intiDeptId:this.$store.state.user.user.deptId,
@@ -1000,6 +1002,12 @@ export default {
         this.getCompanyOptions(this.intiDeptId);
       });
     });
+    getConfigByKey("medicalMall.func.switch").then(response => {
+      if(response.data && response.data.configValue) {
+        this.medicalMallConfig = JSON.parse(response.data.configValue);
+        console.log(this.medicalMallConfig)
+      }
+    });
   },
   methods: {
     getDeptOptions(deptId) {

+ 113 - 0
src/views/system/config/config.vue

@@ -2137,6 +2137,89 @@
           </div>
         </el-form>
       </el-tab-pane>
+
+      <el-tab-pane label="个性化功能开关配置" name="medicalMall.func.switch">
+        <el-form ref="form27" :model="form27" label-width="150px">
+          <el-form-item label="商城店铺、商品是否审核" prop="isAudit">
+            <el-switch
+              v-model="form27.isAudit"
+              active-color="#13ce66"
+              inactive-color="#ff4949"
+            >
+            </el-switch>
+          </el-form-item>
+          <el-form-item label="商品修改不重新审核字段" prop="productColumns" v-if="form27.isAudit">
+            <el-select v-model="form27.productColumns"
+                       filterable
+                       multiple
+                       clearable
+                       placeholder="请选择字段"
+                       size="small"
+                       style="width: 500px">
+              <el-option
+                v-for="column in storeProductScrmColumns"
+                :key="column.colName"
+                :label="column.colComment"
+                :value="column.colName"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="店铺修改不重新审核字段" prop="storeColumns" v-if="form27.isAudit">
+          <el-select v-model="form27.storeColumns"
+                     filterable
+                     multiple
+                     clearable
+                     placeholder="请选择字段"
+                     size="small"
+                     style="width: 500px">
+            <el-option
+              v-for="column in storeScrmColumns"
+              :key="column.colName"
+              :label="column.colComment"
+              :value="column.colName"
+            >
+            </el-option>
+          </el-select>
+          </el-form-item>
+          <el-form-item label="是否药品商城" prop="isMedicalMall">
+            <el-switch
+              v-model="form27.isMedicalMall"
+              active-color="#13ce66"
+              inactive-color="#ff4949"
+            >
+            </el-switch>
+          </el-form-item>
+          <el-form-item label="是否启用资源配置" prop="isResource">
+            <el-switch
+              v-model="form27.isResource"
+              active-color="#13ce66"
+              inactive-color="#ff4949"
+            >
+            </el-switch>
+          </el-form-item>
+          <el-form-item label="是否启用首页按照部门、公司展示按钮" prop="statics">
+            <el-switch
+              v-model="form27.statics"
+              active-color="#13ce66"
+              inactive-color="#ff4949"
+            >
+            </el-switch>
+          </el-form-item>
+          <el-form-item label="是否启用多店铺" prop="isStores">
+            <el-switch
+              v-model="form27.isStores"
+              active-color="#13ce66"
+              inactive-color="#ff4949"
+            >
+            </el-switch>
+          </el-form-item>
+
+          <div class="footer">
+            <el-button type="primary" @click="submitForm27">提 交</el-button>
+          </div>
+        </el-form>
+      </el-tab-pane>
     </el-tabs>
 
 
@@ -2165,6 +2248,9 @@ import companyMenuConfig from './companyMenuConfig'
 import IntegralConfig from '@/views/system/config/integralConfig.vue'
 import { getCitys } from '@/api/store/city'
 import { listCompany } from '@/api/company/company'
+import { initMedicalMallConfig } from '@/api/hisStore/configInit'
+import { getStoreProductColumns } from '@/api/hisStore/storeProduct'
+import { getStoreColumns } from '@/api/hisStore/store'
 
 export default {
   name: 'Config',
@@ -2311,6 +2397,9 @@ export default {
           ]
         }
       },
+      form27: {},
+      storeProductScrmColumns:[],
+      storeScrmColumns: [],
       photoArr: [],
       couponList: [],
       inquirySubTypeOptions: [],
@@ -2379,6 +2468,12 @@ export default {
     this.getDicts('sys_integral_log_type').then(response => {
       this.integralLogTypeOptions = response.data
     })
+    getStoreProductColumns().then( response => {
+      this.storeProductScrmColumns = response.data
+    })
+    getStoreColumns().then( response => {
+      this.storeScrmColumns = response.data
+    })
   },
   watch: {
     photoArr: function(val) {
@@ -2717,6 +2812,11 @@ export default {
           if (this.form25.images != null) {
             this.appImages = this.form25.images.split(',')
           }
+        }else if (key == 'medicalMall.func.switch') {
+          this.configId = response.data.configId
+          this.configKey = response.data.configKey
+          this.form27 = {...this.form27, ...JSON.parse(response.data.configValue)}
+          console.log(this.form27)
         }
       })
     },
@@ -2972,6 +3072,19 @@ export default {
         }
       })
     },
+    submitForm27() {
+      const param = { configId: this.configId, configKey: this.configKey, configValue: JSON.stringify(this.form27) }
+      updateConfigByKey(param).then(response => {
+        if (response.code === 200) {
+          initMedicalMallConfig();
+          this.msgSuccess('修改成功')
+        }
+      })
+    },
+    formatColumns(){
+      console.log(this.form27.pass_columns)
+
+    },
     submitForm24() {
       this.$refs['form24'].validate(valid => {
         if (valid) {

+ 7 - 5
src/views/system/dept/index.vue

@@ -240,12 +240,14 @@ import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild,
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { addOrEditDeptResource, getDeptResource } from '@/api/system/resourceManagement'
+import { getConfigByKey } from '@/api/system/config'
 
 export default {
   name: "Dept",
   components: { Treeselect },
   data() {
     return {
+      isResource:false,
       // 遮罩层
       loading: true,
       // 显示搜索条件
@@ -327,11 +329,11 @@ export default {
     this.getDicts("sys_normal_disable").then(response => {
       this.statusOptions = response.data;
     });
-  },
-  computed: {
-    isResource() {
-      return this.$store.state.user.medicalMallConfig?.isResource === '1' || false;
-    }
+    getConfigByKey("medicalMall.func.switch").then(response => {
+      if(response.data && response.data.configValue) {
+        this.isResource = JSON.parse(response.data.configValue).isResource;
+      }
+    });
   },
   methods: {
     /** 查询部门列表 */