Procházet zdrojové kódy

Merge remote-tracking branch 'origin/yjb_ScrmStores' into yjb_ScrmStores

yjwang před 4 dny
rodič
revize
08ab9ee8ed

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

@@ -165,11 +165,11 @@ export function businessLicenseCheck(imageUrl) {
 }
 
 // 检查店铺的经营许可证是否允许上传该类商品
-export function checkStoreLicense(storeId, cateId, medicalDeviceCode) {
+export function checkStoreLicense(storeId, cateId, medicalDeviceCode, productType) {
   return request({
     url: '/store/store/storeProduct/checkStoreDrugLicense',
     method: 'post',
-    data: { storeId: storeId, cateId: cateId, medicalDeviceCode: medicalDeviceCode }
+    data: { storeId: storeId, cateId: cateId, medicalDeviceCode: medicalDeviceCode, productType: productType }
   })
 }
 

+ 87 - 18
src/views/hisStore/store/audit.vue

@@ -253,6 +253,10 @@
               <el-col :span="12">
                 <el-form-item label="药品经营许可证">
                   <el-image v-if="dialogForm.drugLicense" style="width: 200px" :src="dialogForm.drugLicense" :preview-src-list="[dialogForm.drugLicense]"></el-image>
+                  <!-- 未上传图片时显示的默认图标 -->
+                  <div v-else class="no-image-placeholder">
+                    <span>用户未上传</span>
+                  </div>
                 </el-form-item>
 
                 <el-form-item label="药品经营许可证编号" style="margin-left: 5px">
@@ -278,65 +282,116 @@
               <el-col :span="12">
                 <el-form-item label="2类医疗器械备案证书">
                   <el-image v-if="dialogForm.medicalDevice2" style="width: 200px" :src="dialogForm.medicalDevice2" :preview-src-list="[dialogForm.medicalDevice2]"></el-image>
+                  <!-- 未上传图片时显示的默认图标 -->
+                  <div v-else class="no-image-placeholder">
+                    <span>用户未上传</span>
+                  </div>
                 </el-form-item>
                 <el-form-item label="2类器械生产备案编号" style="margin-left: 5px">
                   <el-input v-model="dialogForm.medicalDevice2Code" />
                 </el-form-item>
               </el-col>
 
+              <el-col :span="12">
+                <el-form-item label="2类器械经营许可证是否长期有效" prop="isMedicalDevice2ExpiryPermanent">
+                  <el-switch
+                    @change="switchChange()"
+                    v-model="dialogForm.isMedicalDevice2ExpiryPermanent"
+                    :active-value="1"
+                    :inactive-value="0"
+                    active-color="#13ce66"
+                    inactive-color="#ff4949">
+                  </el-switch>
+                </el-form-item>
+
+                <el-form-item label="2类器械经营许可证有效期" prop="foodLicenseExpiry" v-if="dialogForm.isMedicalDevice2ExpiryPermanent != 1">
+                  <span>{{dialogForm.medicalDevice2ExpiryStart}} - {{dialogForm.medicalDevice2ExpiryEnd}}</span>
+                </el-form-item>
+              </el-col>
+
               <el-col :sapn="24">
                 <el-form-item label="2类器械经营范围" prop="medicalDevice2BusinessScope" style="margin-left: 5px">
                   <el-input v-model="form.medicalDevice2BusinessScope" placeholder="请输入2类器械经营范围" type="textarea"/>
                 </el-form-item>
               </el-col>
 
-              <el-col :span="12">
-                <el-form-item label="2类医疗器械备案有效期">
-                  <span v-if="dialogForm.isMedicalDevice2ExpiryPermanent == 1">长期有效</span>
-                  <span v-else>{{dialogForm.medicalDevice2ExpiryStart}} - {{dialogForm.medicalDevice2ExpiryEnd}}</span>
-                </el-form-item>
-              </el-col>
             </el-row>
 
             <el-row>
               <el-col :span="12">
                 <el-form-item label="3类器械经营许可证">
                   <el-image v-if="dialogForm.medicalDevice3" style="width: 200px" :src="dialogForm.medicalDevice3" :preview-src-list="[dialogForm.medicalDevice3]"></el-image>
+                  <!-- 未上传图片时显示的默认图标 -->
+                  <div v-else class="no-image-placeholder">
+                    <span>用户未上传</span>
+                  </div>
                 </el-form-item>
                 <el-form-item label="3类器械生产备案编号" style="margin-left: 5px">
                   <el-input v-model="dialogForm.medicalDevice3Code" />
                 </el-form-item>
               </el-col>
 
+              <el-col :span="12">
+                <el-form-item label="3类器械经营许可证是否长期有效" prop="isMedicalDevice3ExpiryPermanent">
+                  <el-switch
+                    @change="switchChange()"
+                    v-model="dialogForm.isMedicalDevice3ExpiryPermanent"
+                    :active-value="1"
+                    :inactive-value="0"
+                    active-color="#13ce66"
+                    inactive-color="#ff4949">
+                  </el-switch>
+                </el-form-item>
+
+                <el-form-item label="3类器械经营许可证有效期" prop="foodLicenseExpiry" v-if="dialogForm.isMedicalDevice3ExpiryPermanent != 1">
+                  <span>{{dialogForm.medicalDevice3ExpiryStart}} - {{dialogForm.medicalDevice3ExpiryEnd}}</span>
+                </el-form-item>
+              </el-col>
+
               <el-col :sapn="24">
                 <el-form-item label="3类器械经营范围" prop="medicalDevice3BusinessScope" style="margin-left: 5px">
                   <el-input v-model="form.medicalDevice3BusinessScope" placeholder="请输入3类器械经营范围" type="textarea"/>
                 </el-form-item>
               </el-col>
 
-              <el-col :span="12">
-                <el-form-item label="3类器械经营许可证有效期">
-                  <span v-if="dialogForm.isMedicalDevice3ExpiryPermanent == 1">长期有效</span>
-                  <span v-else>{{dialogForm.medicalDevice3ExpiryStart}} - {{dialogForm.medicalDevice3ExpiryEnd}}</span>
-                </el-form-item>
-              </el-col>
             </el-row>
 
             <el-row>
               <el-col :span="12">
-                <el-form-item label="食品经营许可证">
-                  <el-image v-if="dialogForm.foodLicense" style="width: 200px" :src="dialogForm.foodLicense" :preview-src-list="[dialogForm.foodLicense]"></el-image>
+                <el-form-item label="食品经营许可证/备案凭证上传">
+                  <el-image v-if="dialogForm.foodLicense && dialogForm.foodLicense.trim()" style="width: 200px" :src="dialogForm.foodLicense" :preview-src-list="[dialogForm.foodLicense]"></el-image>
+                  <!-- 未上传图片时显示的默认图标 -->
+                  <div v-else class="no-image-placeholder">
+                    <span>用户未上传</span>
+                  </div>
                 </el-form-item>
-                <el-form-item label="食品经营许可证编号" style="margin-left: 5px">
+                <el-form-item label="食品经营许可证/备案凭证编号" style="margin-left: 5px">
                   <el-input v-model="dialogForm.foodCode" />
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="食品经营许可证有效期">
-                  <span v-if="dialogForm.isFoodLicenseExpiryPermanent == 1">长期有效</span>
-                  <span v-else>{{dialogForm.foodLicenseExpiryStart}} - {{dialogForm.foodLicenseExpiryEnd}}</span>
+                <el-form-item label="食品经营许可证/备案凭证是否长期有效" prop="isFoodLicenseExpiryPermanent">
+                  <el-switch
+                    @change="switchChange()"
+                    v-model="dialogForm.isFoodLicenseExpiryPermanent"
+                    :active-value="1"
+                    :inactive-value="0"
+                    active-color="#13ce66"
+                    inactive-color="#ff4949">
+                  </el-switch>
+                </el-form-item>
+
+                <el-form-item label="食品经营许可证/备案凭证有效期" prop="foodLicenseExpiry" v-if="dialogForm.isFoodLicenseExpiryPermanent != 1">
+                  <span>{{dialogForm.foodLicenseExpiryStart}} - {{dialogForm.foodLicenseExpiryEnd}}</span>
                 </el-form-item>
               </el-col>
+
+              <el-col :sapn="24">
+                <el-form-item label="食品经营许可证/备案凭证经营范围" prop="foodLicenseBusinessScope">
+                  <el-input v-model="form.foodLicenseBusinessScope" placeholder="请输入食品经营许可证/备案凭证经营范围" type="textarea"/>
+                </el-form-item>
+              </el-col>
+
             </el-row>
 
           </div>
@@ -751,6 +806,7 @@ export default {
   position: relative;
   overflow: hidden;
 }
+
 .avatar-uploader .el-upload:hover {
   border-color: #409EFF;
 }
@@ -763,4 +819,17 @@ export default {
   line-height: 150px;
   text-align: center;
 }
+
+/* 无图片占位符样式 */
+.no-image-placeholder {
+  width: 200px;
+  height: 200px;
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  color: #999;
+  background-color: #fafafa;
+}
 </style>

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

@@ -632,6 +632,13 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
+
+            <el-col :sapn="24">
+              <el-form-item label="食品经营许可证/备案凭证经营范围" prop="foodLicenseBusinessScope">
+                <el-input v-model="form.foodLicenseBusinessScope" placeholder="请输入食品经营许可证/备案凭证经营范围" type="textarea"/>
+              </el-form-item>
+            </el-col>
+
           </el-row>
         </div>
         <div v-hasPermi="['his:store:AgreementSigned']">

+ 6 - 16
src/views/hisStore/storeProduct/index.vue

@@ -426,14 +426,6 @@
             @click="openVerify(scope.row)"
           >溯源码管理
           </el-button>
-          <!--          <el-button-->
-          <!--            size="mini"-->
-          <!--            type="text"-->
-          <!--            icon="el-icon-download"-->
-          <!--            @click="handleDrugExport(scope.row)"-->
-          <!--            v-if="scope.row.cateId==224"-->
-          <!--          >导出-->
-          <!--          </el-button>-->
         </template>
       </el-table-column>
     </el-table>
@@ -1129,7 +1121,7 @@
     </el-dialog>
 
 <!-- 免于经营备案的第二类医疗器械产品弹窗 -->
-<el-dialog title="免于经营备案的第二类医疗器械产品" :visible.sync="exemptDeviceDialogVisible" width="80%" append-to-body modal-append-to-body="false" z-index="9999" top="5vh" custom-class="exempt-device-dialog">
+<el-dialog title="免于经营备案的第二类医疗器械产品" :visible.sync="exemptDeviceDialogVisible" width="80%" append-to-body :modal-append-to-body="false" z-index="9999" top="5vh" custom-class="exempt-device-dialog">
   <el-form :model="exemptDeviceQueryParams" ref="exemptDeviceQueryForm" :inline="true" label-width="80px">
     <el-form-item label="产品名称">
       <el-input v-model="exemptDeviceQueryParams.productName" placeholder="请输入产品名称" clearable size="small" @keyup.enter.native="handleExemptDeviceQuery" />
@@ -1146,8 +1138,8 @@
     <el-table-column label="目录名称" align="center" prop="directoryName" />
     <el-table-column label="产品描述" align="center" prop="productDescription" />
     <el-table-column label="产品用途" align="center" prop="usageStr" />
-    <el-table-column label="创建时间" align="center" prop="createTime" width="180" />
-    <el-table-column label="更新时间" align="center" prop="updateTime" width="180" />
+<!--    <el-table-column label="创建时间" align="center" prop="createTime" width="180" />-->
+<!--    <el-table-column label="更新时间" align="center" prop="updateTime" width="180" />-->
   </el-table>
 
   <div slot="footer" class="dialog-footer">
@@ -1819,23 +1811,21 @@ export default {
         this.storeLicenseErrorMessage = '请选择II类器械或III类器械分类时,器械编码不能为空';
         return;
       }
-
       // 添加检查中标志,防止重复调用
       if (this.isCheckingLicense) {
         return;
       }
       this.isCheckingLicense = true;
-
       // 准备请求参数
       let cateId = this.form.cateId;
       let medicalDeviceCode = null;
-
+      let productType = null;
       // 如果是II类或III类器械,传递器械编码
       if (isMedicalDevice) {
         medicalDeviceCode = this.form.medicalDeviceCode;
+        productType = this.form.productType; // 添加商品类型参数
       }
-
-      checkStoreLicense(this.form.storeId, cateId, medicalDeviceCode).then(response => {
+      checkStoreLicense(this.form.storeId, cateId, medicalDeviceCode, productType).then(response => {
         if (response.code === 200) {
           if (!response.data.flag) {
             // 权限检查失败