Browse Source

添加店铺资质信息提示

wangxy 5 days ago
parent
commit
4c6bee1664
2 changed files with 66 additions and 2 deletions
  1. 10 0
      src/api/system/user.js
  2. 56 2
      src/views/hisStore/store/index.vue

+ 10 - 0
src/api/system/user.js

@@ -160,3 +160,13 @@ export function noticeInfo() {
     method: 'get'
   })
 }
+/**
+ * 资质信息提示
+ * @returns {*}
+ */
+export function qualifications() {
+  return request({
+    url: '/system/user/storeRecommendNotice',
+    method: 'get'
+  })
+}

+ 56 - 2
src/views/hisStore/store/index.vue

@@ -381,7 +381,15 @@
               </el-col>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="1类生产备案有效期" prop="medicalDevice1Expiry">
+              <el-form-item label="1类医疗器械是否长期有效" prop="isMedicalDevice1ExpiryPermanent">
+                <el-switch
+                  @change="switchChange()"
+                  v-model="switchMedicalValue"
+                  active-color="#13ce66"
+                  inactive-color="#ff4949">
+                </el-switch>
+              </el-form-item>
+              <el-form-item label="1类生产备案有效期" prop="medicalDevice1Expiry" v-if="!switchMedicalValue">
                 <el-date-picker
                   v-model="form.medicalDevice1Expiry"
                   type="daterange"
@@ -699,6 +707,17 @@
     </el-drawer>
 
 
+    <el-dialog
+      title="店铺资质消息提示"
+      :visible.sync="dialogVisible"
+      width="40%"
+      center>
+      <div v-for="(item,index) in promptList">({{index+1}})、{{item}}</div>
+      <span slot="footer" class="dialog-footer">
+       <el-button type="primary" @click="dialogVisible = false">已 知 晓</el-button>
+      </span>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -707,12 +726,16 @@ import { listStore, getStore, delStore, addStore, updateStore, exportStore, refr
 import storeDetails from '../components/storeDetails.vue';
 import {getCitys} from "@/api/store/city";
 import { getConfigByKey } from '@/api/system/config'
+import { qualifications } from '@/api/system/user';
 export default {
   name: "Store",
   components: { storeDetails },
   data() {
     return {
+      promptList:[],
+      dialogVisible: false,
       switchValue:false,
+      switchMedicalValue:false,
       show: {
         title: "店铺详情",
         open: false,
@@ -902,9 +925,31 @@ export default {
     this.getDicts("sys_store_delivery_type").then(response => {
       this.deliveryTypeOptions = response.data;
     });
+    this.$nextTick(()=>{
+      console.log("是否执行资质提示方法")
+      this.handleNoticeInfo();
+    })
   },
   methods: {
-
+    handleNoticeInfo() {
+      qualifications()
+        .then(response => {
+          console.log("noticeInfo接口完整响应:", response);
+          if (response.code === 200) {
+            this.promptList = response.data;
+            if (this.promptList && this.promptList.length > 0) {
+              this.dialogVisible = true;
+            }
+            console.log("通知信息请求完成!", this.promptList);
+          } else {
+            console.warn("接口返回非成功状态:", response.code);
+          }
+        })
+        .catch(err => {
+          console.error("获取通知信息失败:", err);
+          this.$message.error("加载通知信息失败,请稍后重试");
+        });
+    },
     handledetails(row) {
       this.show.open = true;
       setTimeout(() => {
@@ -990,6 +1035,7 @@ export default {
     // 表单重置
     reset() {
       this.switchValue = false;
+      this.switchMedicalValue=false;
       this.form = {
         storeId: null,
         cityIds: null,
@@ -1091,6 +1137,9 @@ export default {
         if(this.form.isBusinessLicensePermanent == 1){
           this.switchValue = true;
         }
+        if(this.form.isMedicalDevice1ExpiryPermanent == 1){
+          this.switchMedicalValue = true;
+        }
         this.open = true;
         this.title = "修改店铺";
 
@@ -1223,6 +1272,11 @@ export default {
           }else{
               formData.isBusinessLicensePermanent = 0;
           }
+          if(!!this.switchMedicalValue){
+            formData.isMedicalDevice1ExpiryPermanent=1;
+          }else {
+            formData.isMedicalDevice1ExpiryPermanent=0;
+          }
           if (formData.storeId != null) {
             updateStore(formData).then(response => {
               this.msgSuccess("修改成功");