Selaa lähdekoodia

Merge branch 'ScrmStores' of http://1.14.104.71:10880/root/ylrz_his_scrm_adminUI into ScrmStores

zhangqin 3 viikkoa sitten
vanhempi
commit
326fc8e3de

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

@@ -1,10 +0,0 @@
-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

@@ -9,6 +9,14 @@ export function listStore(query) {
   })
 }
 
+export function listStoreOptions(query) {
+  return request({
+    url: '/store/his/store/listOption',
+    method: 'get',
+    params: query
+  })
+}
+
 // 查询店铺管理详细
 export function getStore(storeId) {
   return request({

+ 21 - 2
src/views/course/coursePlaySourceConfig/index.vue

@@ -205,8 +205,8 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="所属部门" prop="deptId">
-          <treeselect v-model="form.deptId" :options="deptOptions" :normalizer="normalizer"  placeholder="选择上级部门"   :disabled="(username !== 'admin' && title === '修改小程序配置')"  />
+        <el-form-item label="所属部门" prop="createDeptId">
+          <treeselect v-model="form.createDeptId" :options="deptOptions" :normalizer="normalizer"  placeholder="选择上级部门"   :disabled="(username !== 'admin' && title === '修改小程序配置')"  />
         </el-form-item>
         <el-form-item label="是否是互医/商城小程序" prop="isMall">
           <el-select
@@ -383,6 +383,13 @@ export default {
     },
     /** 转换部门数据结构 */
     normalizer(node) {
+      if (node.hasOwnProperty('id') && !node.hasOwnProperty('deptId')) {
+        return {
+          id: node.id,
+          label: this.getDeptNameById(node.id) || '未知部门',
+          children: node.children || []
+        };
+      }
       if (node.children && !node.children.length) {
         delete node.children;
       }
@@ -392,6 +399,18 @@ export default {
         children: node.children
       };
     },
+    getDeptNameById(targetId) {
+      const deptOptions =this.deptOptions
+      console.log("text:"+JSON.stringify(deptOptions))
+      for (let i = 0; i < deptOptions.length; i++) {
+        const dept = deptOptions[i];
+        if (dept.deptId === targetId) {
+          return dept.deptName;
+        }
+      }
+      return '未知部门';
+    },
+
     // 处理开关配置
     handleSwitchConfig(row) {
       this.switchForm.appId = row.appid;

+ 12 - 13
src/views/his/company/index.vue

@@ -97,7 +97,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table height="660" v-loading="loading" border :data="companyList" @selection-change="handleSelectionChange">
+    <el-table v-loading="loading" border :data="companyList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="ID" align="center" prop="companyId"/>
       <el-table-column label="企业名" align="center" prop="companyName"/>
@@ -118,9 +118,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" v-if="this.$store.state.user.medicalMallConfig.resource"/>
-      <el-table-column label="占用pad数量" align="center" prop="usedNum" v-if="this.$store.state.user.medicalMallConfig.resource"/>
-      <el-table-column label="所属部门" align="center" prop="deptId" v-if="this.$store.state.user.medicalMallConfig.resource">
+      <el-table-column label="限制pad数量" align="center" prop="maxPadNum" :formatter="padNumFormatter" v-if="medicalMallConfig.resource"/>
+      <el-table-column label="占用pad数量" align="center" prop="usedNum" v-if="medicalMallConfig.resource"/>
+      <el-table-column label="所属部门" align="center" prop="deptId" v-if="medicalMallConfig.resource">
         <template slot-scope="scope">
           <el-tag prop="deptId" v-for="(item, index) in deptOptions" :key="'deptId'+index"
                   v-if="scope.row.deptId===item.deptId"
@@ -212,7 +212,7 @@
           </el-select>
         </el-form-item>
         <!-- 所属部门 -->
-        <el-form-item label="所属部门" prop="deptId" v-if="this.$store.state.user.medicalMallConfig.resource">
+        <el-form-item label="所属部门" prop="deptId" v-if="medicalMallConfig.resource">
           <el-select
             v-model="form.deptId"
             placeholder="请选择"
@@ -239,7 +239,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" v-if="this.$store.state.user.medicalMallConfig.resource">
+        <el-form-item label="pad数量" prop="maxPadNum" v-if="medicalMallConfig.resource">
           <el-input-number v-model="form.maxPadNum" :min="-1" :max="10000"></el-input-number>
           <span class="pad-tips">
             注:-1表示不做限制
@@ -555,6 +555,7 @@ export default {
       },
       followDoctorList: [],
       cateList: [],
+      medicalMallConfig: {},
       // 表单参数
       form: {
         restartTime: '13:10',
@@ -658,13 +659,11 @@ export default {
     listDept().then(response => {
       this.deptOptions = response.data
     })
-    // getConfigByKey("courseMa.config").then(response => {
-    //   if(response.data && response.data.configValue) {
-    //     this.miniAppList = JSON.parse(response.data.configValue);
-    //   } else {
-    //     this.miniAppList = [];
-    //   }
-    // });
+    getConfigByKey("medicalMall.func.switch").then(response => {
+      if(response.data && response.data.configValue) {
+        this.medicalMallConfig = JSON.parse(response.data.configValue);
+      }
+    });
     docList().then(response => {
       this.doctor = response.rows
     })

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

@@ -652,6 +652,24 @@ export default {
         businessLicense: [
           { required: true, message: "营业执照不能为空", trigger: "blur" }
         ],
+        drugLicense:[
+          { required: true, message: "药品经营许可证不能为空", trigger: "blur" }
+        ],
+        drugLicenseExpiry:[
+          { required: true, message: "药品经营许可证有效期不能为空", trigger: "blur" }
+        ],
+        medicalLicense:[
+          { required: true, message: "医疗机构执业许可证不能为空", trigger: "blur" }
+        ],
+        medicalLicenseExpiry:[
+          { required: true, message: "医疗机构执业许可证有效期不能为空", trigger: "blur" }
+        ],
+        medicalDevice2:[
+          { required: true, message: "2类医疗器械备案证不能为空", trigger: "blur" }
+        ],
+        medicalDevice2Expiry:[
+          { required: true, message: "2类医疗器械备案证有效期不能为空", trigger: "blur" }
+        ],
         logoUrl: [
           { required: true, message: "店铺LOGO不能为空", trigger: "blur" }
         ],

+ 30 - 1
src/views/hisStore/storeProductCategory/index.vue

@@ -10,6 +10,12 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="所属店铺" prop="storeId" v-if="medicalMallConfig.isStores">
+        <el-select v-model="queryParams.storeId" placeholder="请选择所属店铺" clearable size="small">
+          <el-option v-for="item in storeList" :key="item.storeId" :label="item.storeName" :value="item.storeId">
+          </el-option>
+        </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>
@@ -37,6 +43,7 @@
       :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
     >
       <el-table-column label="分类名称" align="left" prop="cateName" />
+      <el-table-column label="所属店铺" align="center" prop="storeId" :formatter="storeNameFormatter" v-if="medicalMallConfig.isStores"/>
       <el-table-column  label="状态" align="center" prop="isShow">
         <template slot-scope="scope">
           <div>
@@ -99,6 +106,8 @@ import { listStoreProductCategory, getStoreProductCategory, delStoreProductCateg
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import Material from '@/components/Material'
+import { listStoreOptions } from '@/api/hisStore/store'
+import { getConfigByKey } from '@/api/system/config'
 export default {
   name: "HisStoreProductCategory",
   components: {
@@ -112,6 +121,8 @@ export default {
   },
   data() {
     return {
+      storeList: {},
+      medicalMallConfig: {},
       picArr: [],
       // 遮罩层
       loading: true,
@@ -132,7 +143,8 @@ export default {
         sort: null,
         pic: null,
         isShow: null,
-        isDel: null
+        isDel: null,
+        storeId: null
       },
       // 表单参数
       form: {},
@@ -152,8 +164,25 @@ export default {
   },
   created() {
     this.getList();
+    listStoreOptions().then(response => {
+      this.storeList = response.data;
+    });
+    getConfigByKey("medicalMall.func.switch").then(response => {
+      if(response.data && response.data.configValue) {
+        this.medicalMallConfig = JSON.parse(response.data.configValue);
+      }
+    });
   },
   methods: {
+    storeNameFormatter(row){
+      if(row){
+        const option = this.storeList.find(item => item.storeId === row.storeId);
+        if(option){
+          return option.storeName
+        }
+      }
+      return row.storeId === null ? '总公司' : '未知';
+    },
     /** 查询商品分类列表 */
     getList() {
       this.loading = true;

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

@@ -2248,7 +2248,6 @@ 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'
 
@@ -3076,7 +3075,6 @@ export default {
       const param = { configId: this.configId, configKey: this.configKey, configValue: JSON.stringify(this.form27) }
       updateConfigByKey(param).then(response => {
         if (response.code === 200) {
-          initMedicalMallConfig();
           this.msgSuccess('修改成功')
         }
       })