瀏覽代碼

修改店铺列表的编辑-新增-审核页面,提取公共组件

Guos 2 周之前
父節點
當前提交
b944ac80aa
共有 3 個文件被更改,包括 504 次插入139 次删除
  1. 220 0
      src/views/hisStore/components/StoreDialog.vue
  2. 277 138
      src/views/hisStore/store/audit.vue
  3. 7 1
      src/views/hisStore/store/index.vue

+ 220 - 0
src/views/hisStore/components/StoreDialog.vue

@@ -0,0 +1,220 @@
+<template>
+  <el-dialog 
+    :title="dialogTitle" 
+    :visible.sync="dialogVisible" 
+    width="800px" 
+    append-to-body 
+    :close-on-click-modal="false"
+    @close="handleClose"
+  >
+    <slot name="form" :form="innerForm" :formDisabled="formDisabled" :rules="innerRules" :auditForm="auditForm">
+      <!-- 表单内容由父组件通过slot传入 -->
+    </slot>
+
+    <!-- 审核记录显示(仅审核和详情模式显示已审核店铺) -->
+    <div v-if="showAuditLogs">
+      <el-divider content-position="left">审核记录</el-divider>
+      <el-table :data="auditLogs" border>
+        <el-table-column label="描述" align="center" prop="des" :show-overflow-tooltip="true" />
+        <el-table-column label="操作人员" align="center" prop="operName" width="100" />
+        <el-table-column label="操作日期" align="center" prop="operTime" width="180">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.operTime) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="审核理由" align="center" prop="reason" />
+        <el-table-column label="图片" align="center" prop="attachImage" width="100">
+          <template slot-scope="scope">
+            <el-image v-if="scope.row.attachImage" style="width: 100px" :src="scope.row.attachImage" :preview-src-list="[scope.row.attachImage]"></el-image>
+            <span v-else>无图片</span>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+
+    <!-- 审核表单(仅审核模式且未审核时显示) -->
+    <div v-if="showAuditForm">
+      <el-divider content-position="left">审核</el-divider>
+      <el-form label-width="120px">
+        <el-form-item label="审核理由">
+          <el-input v-model="auditForm.reason" type="textarea" placeholder="请输入审核理由" />
+        </el-form-item>
+        <el-form-item label="图片说明">
+          <ImageUpload v-model="auditForm.attachImage" :limit="5" :width="150" :height="150" />
+        </el-form-item>
+      </el-form>
+    </div>
+
+    <!-- 对话框底部按钮 -->
+    <div slot="footer" class="dialog-footer">
+      <!-- 审核按钮(只在审核模式且未审核时显示) -->
+      <template v-if="showAuditButtons">
+        <el-button type="success" @click="handleAuditPass">审核通过</el-button>
+        <el-button type="danger" @click="handleAuditReject">审核驳回</el-button>
+      </template>
+      <!-- 编辑/新增模式的确定按钮 -->
+      <el-button v-else-if="showSubmitButton" type="primary" @click="handleSubmit">确 定</el-button>
+      <el-button @click="handleCancel">{{ formDisabled ? '关 闭' : '取 消' }}</el-button>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+import ImageUpload from '@/components/ImageUpload';
+
+export default {
+  name: 'StoreDialog',
+  components: { ImageUpload },
+  props: {
+    visible: {
+      type: Boolean,
+      default: false
+    },
+    mode: {
+      type: String,
+      default: 'add', // add, edit, detail, audit
+      validator: value => ['add', 'edit', 'detail', 'audit'].includes(value)
+    },
+    title: {
+      type: String,
+      default: ''
+    },
+    formData: {
+      type: Object,
+      default: () => ({})
+    },
+    formRules: {
+      type: Object,
+      default: () => ({})
+    },
+    auditLogs: {
+      type: Array,
+      default: () => []
+    },
+    medicalMallConfig: {
+      type: Object,
+      default: () => ({})
+    }
+  },
+  data() {
+    return {
+      innerForm: {},
+      innerRules: {},
+      auditForm: {
+        reason: '',
+        attachImage: ''
+      }
+    };
+  },
+  computed: {
+    dialogVisible: {
+      get() {
+        return this.visible;
+      },
+      set(val) {
+        this.$emit('update:visible', val);
+      }
+    },
+    dialogTitle() {
+      return this.title || this.getDefaultTitle();
+    },
+    formDisabled() {
+      return this.mode === 'detail' || (this.mode === 'audit' && this.innerForm.isAudit !== 0);
+    },
+    showAuditLogs() {
+      return (this.mode === 'audit' || this.mode === 'detail') && 
+             this.innerForm.isAudit !== 0 && 
+             this.medicalMallConfig.isAudit;
+    },
+    showAuditForm() {
+      return this.mode === 'audit' && this.innerForm.isAudit === 0;
+    },
+    showAuditButtons() {
+      return this.mode === 'audit' && this.innerForm.isAudit === 0;
+    },
+    showSubmitButton() {
+      return this.mode === 'add' || this.mode === 'edit';
+    }
+  },
+  watch: {
+    formData: {
+      handler(newVal) {
+        this.innerForm = { ...newVal };
+      },
+      immediate: true,
+      deep: true
+    },
+    formRules: {
+      handler(newVal) {
+        this.innerRules = { ...newVal };
+      },
+      immediate: true,
+      deep: true
+    }
+  },
+  methods: {
+    getDefaultTitle() {
+      const titles = {
+        add: '添加店铺',
+        edit: '修改店铺',
+        detail: '店铺详情',
+        audit: this.innerForm.isAudit === 0 ? '店铺审核' : '店铺详情'
+      };
+      return titles[this.mode] || '店铺信息';
+    },
+    handleSubmit() {
+      this.$emit('submit', this.innerForm);
+    },
+    handleAuditPass() {
+      this.$confirm('确认审核通过该店铺?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.$emit('audit', {
+          storeId: this.innerForm.storeId,
+          isAudit: 1,
+          ...this.auditForm
+        });
+      }).catch(() => {});
+    },
+    handleAuditReject() {
+      this.$confirm('确认驳回该店铺审核?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.$emit('audit', {
+          storeId: this.innerForm.storeId,
+          isAudit: -1,
+          ...this.auditForm
+        });
+      }).catch(() => {});
+    },
+    handleCancel() {
+      this.dialogVisible = false;
+    },
+    handleClose() {
+      this.resetAuditForm();
+      this.$emit('close');
+    },
+    resetAuditForm() {
+      this.auditForm = {
+        reason: '',
+        attachImage: ''
+      };
+    },
+    // 暴露给父组件的表单验证方法
+    validate(callback) {
+      this.$emit('validate', callback);
+    }
+  }
+};
+</script>
+
+<style scoped>
+.el-divider__text {
+  font-size: 16px;
+  font-weight: bold;
+}
+</style>

+ 277 - 138
src/views/hisStore/store/audit.vue

@@ -183,149 +183,269 @@
       @pagination="getList"
       @pagination="getList"
     />
     />
 
 
-    <!-- 使用与index.vue相同的对话框展示,但添加审核功能 -->
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
-      <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="top" :disabled="!isAuditMode">
+    <!-- 使用StoreDialog组件 -->
+    <StoreDialog
+      :visible.sync="open"
+      mode="audit"
+      :form-data="form"
+      :audit-logs="auditLogs"
+      :medicalMallConfig="medicalMallConfig"
+      @audit="handleAuditSubmit"
+      @close="handleDialogClose"
+    >
+      <template #form="{ form: dialogForm, formDisabled }">
+        <el-form :model="dialogForm" label-width="120px" label-position="top" :disabled="formDisabled">
+          <el-divider content-position="left">基础信息</el-divider>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="店铺名称">
+                <el-input v-model="dialogForm.storeName" placeholder="请输入店铺名称" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="电话">
+                <el-input v-model="dialogForm.phone" placeholder="请输入店铺电话" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="企业全称">
+            <el-input v-model="dialogForm.fullName" placeholder="请输入企业全称" />
+          </el-form-item>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="店铺LOGO">
+                <img v-if="dialogForm.logoUrl" :src="dialogForm.logoUrl" width="200px">
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="24">
+              <el-form-item label="店铺介绍">
+                <el-input v-model="dialogForm.descs" type="textarea" :rows="3" placeholder="请输入店铺介绍" maxlength="100" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="地址">
+                <el-input v-model="dialogForm.address" placeholder="请输入地址" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="法人姓名">
+                <el-input v-model="dialogForm.legalPersonName" placeholder="请输入法人姓名" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="统一社会信用代码">
+                <el-input v-model="dialogForm.unifiedSocialCreditCode" placeholder="请输入统一社会信用代码" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="商家ID">
+                <el-input v-model="dialogForm.merchantId" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="营业范围">
+            <el-input v-model="dialogForm.businessScope" type="textarea" placeholder="请输入营业范围" />
+          </el-form-item>
+
+          <!-- 证书信息 -->
+          <el-divider content-position="left">资质证书信息</el-divider>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="营业执照">
+                <el-image v-if="dialogForm.businessLicense" style="width: 200px" :src="dialogForm.businessLicense" :preview-src-list="[dialogForm.businessLicense]"></el-image>
+              </el-form-item>
+              <el-form-item label="营业执照编号" style="margin-left: 5px">
+                <el-input v-model="dialogForm.businessCode" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="营业执照有效期">
+                <span v-if="dialogForm.isBusinessLicensePermanent == 1">长期有效</span>
+                <span v-else>{{dialogForm.businessLicenseExpireStart}} - {{dialogForm.businessLicenseExpireEnd}}</span>
+              </el-form-item>
+            </el-col>
+          </el-row>
 
 
-        <el-divider content-position="left">基础信息</el-divider>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="店铺名称">
-              <el-input v-model="form.storeName" disabled />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="电话">
-              <el-input v-model="form.phone" disabled />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-form-item label="企业全称">
-          <el-input v-model="form.fullName" disabled />
-        </el-form-item>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="店铺LOGO">
-              <img v-if="form.logoUrl" :src="form.logoUrl" width="200px">
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="店铺介绍">
-              <el-input v-model="form.descs" type="textarea" :rows="3" disabled />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="地址">
-              <el-input v-model="form.address" disabled />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="法人姓名">
-              <el-input v-model="form.legalPersonName" disabled />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="统一社会信用代码">
-              <el-input v-model="form.unifiedSocialCreditCode" disabled />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="商家ID">
-              <el-input v-model="form.merchantId" disabled />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-form-item label="营业范围">
-          <el-input v-model="form.businessScope" type="textarea" disabled />
-        </el-form-item>
+          <!-- 医疗相关证书 -->
+          <div v-if="medicalMallConfig.isMedicalMall">
+            <el-row>
+              <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>
+                </el-form-item>
+                <el-form-item label="药品经营许可证编号" style="margin-left: 5px">
+                  <el-input v-model="dialogForm.drugCode" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="药品经营许可证有效期">
+                  <span v-if="dialogForm.isDrugLicensePermanent == 1">长期有效</span>
+                  <span v-else>{{dialogForm.drugLicenseExpiryStart}} - {{dialogForm.drugLicenseExpiryEnd}}</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
 
 
-        <!-- 证书信息 -->
-        <el-divider content-position="left">资质证书信息</el-divider>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="营业执照">
-              <el-image v-if="form.businessLicense" style="width: 200px" :src="form.businessLicense" :preview-src-list="[form.businessLicense]"></el-image>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="营业执照编号">
-              <el-input v-model="form.businessCode" disabled />
-            </el-form-item>
-            <el-form-item label="营业执照有效期">
-              <span v-if="form.isBusinessLicensePermanent == 1">长期有效</span>
-              <span v-else>{{form.businessLicenseExpireStart}} - {{form.businessLicenseExpireEnd}}</span>
-            </el-form-item>
-          </el-col>
-        </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="1类器械生产备案">
+                  <el-image v-if="dialogForm.medicalDevice1" style="width: 200px" :src="dialogForm.medicalDevice1" :preview-src-list="[dialogForm.medicalDevice1]"></el-image>
+                </el-form-item>
+                <el-form-item label="1类器械生产备案编号" style="margin-left: 5px">
+                  <el-input v-model="dialogForm.medicalDevice1Code" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="1类生产备案有效期">
+                  <span v-if="dialogForm.isMedicalDevice1ExpiryPermanent == 1">长期有效</span>
+                  <span v-else>{{dialogForm.medicalDevice1ExpiryStart}} - {{dialogForm.medicalDevice1ExpiryEnd}}</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
 
 
-        <!-- 其他证书显示略... -->
+            <el-row>
+              <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>
+                </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类医疗器械备案有效期">
+                  <span v-if="dialogForm.isMedicalDevice2ExpiryPermanent == 1">长期有效</span>
+                  <span v-else>{{dialogForm.medicalDevice2ExpiryStart}} - {{dialogForm.medicalDevice2ExpiryEnd}}</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
 
 
-        <el-divider content-position="left">店铺配置信息</el-divider>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="状态">
-              <dict-tag :options="statusOptions" :value="form.status"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="审核状态">
-              <dict-tag :options="isAuditOptions" :value="form.isAudit"/>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-form-item label="登录帐号">
-          <el-input v-model="form.account" disabled />
-        </el-form-item>
+            <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>
+                </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类器械经营许可证有效期">
+                  <span v-if="dialogForm.isMedicalDevice3ExpiryPermanent == 1">长期有效</span>
+                  <span v-else>{{dialogForm.medicalDevice3ExpiryStart}} - {{dialogForm.medicalDevice3ExpiryEnd}}</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
 
 
-        <!-- 审核记录显示(已审核的店铺) -->
-        <div v-if="form.isAudit !== 0 && medicalMallConfig.isAudit">
-          <el-divider content-position="left">审核记录</el-divider>
-          <el-table :data="auditLogs" border>
-            <el-table-column label="描述" align="center" prop="des" :show-overflow-tooltip="true" />
-            <el-table-column label="操作人员" align="center" prop="operName" width="100" />
-            <el-table-column label="操作日期" align="center" prop="operTime" width="180">
-              <template slot-scope="scope">
-                <span>{{ parseTime(scope.row.operTime) }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="审核理由" align="center" prop="reason" />
-            <el-table-column label="图片" align="center" prop="attachImage" width="100">
-              <template slot-scope="scope">
-                <el-image v-if="scope.row.attachImage" style="width: 100px" :src="scope.row.attachImage" :preview-src-list="[scope.row.attachImage]"></el-image>
-                <span v-else>无图片</span>
-              </template>
-            </el-table-column>
-          </el-table>
-        </div>
+            <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>
+                <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>
+              </el-col>
+            </el-row>
 
 
-        <!-- 审核表单(仅未审核时显示) -->
-        <div v-if="form.isAudit === 0 && isAuditMode">
-          <el-divider content-position="left">审核</el-divider>
-          <el-form-item label="审核理由" prop="auditReason">
-            <el-input v-model="auditForm.reason" type="textarea" placeholder="请输入审核理由" />
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="医疗机构执业许可证">
+                  <el-image v-if="dialogForm.medicalLicense" style="width: 200px" :src="dialogForm.medicalLicense" :preview-src-list="[dialogForm.medicalLicense]"></el-image>
+                </el-form-item>
+                <el-form-item label="医疗机构执业许可证编号" style="margin-left: 5px">
+                  <el-input v-model="dialogForm.medicalCode" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="医疗机构执业许可证有效期">
+                  <span v-if="dialogForm.isMedicalLicenseExpiryPermanent == 1">长期有效</span>
+                  <span v-else>{{dialogForm.medicalLicenseExpiryStart}} - {{dialogForm.medicalLicenseExpiryEnd}}</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </div>
+
+          <el-divider content-position="left">店铺配置信息</el-divider>
+          <el-form-item label="退货地址">
+            <el-input v-model="dialogForm.refundAddress" />
           </el-form-item>
           </el-form-item>
-          <el-form-item label="图片说明">
-            <ImageUpload v-model="auditForm.attachImage" :limit="5" :width="150" :height="150" />
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="退货电话">
+                <el-input v-model="dialogForm.refundPhone" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="退货收货人">
+                <el-input v-model="dialogForm.refundConsignee" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="寄件人电话">
+            <el-input v-model="dialogForm.sendPhone" />
           </el-form-item>
           </el-form-item>
-        </div>
-      </el-form>
-
-      <!-- 对话框底部按钮 -->
-      <div slot="footer" class="dialog-footer">
-        <!-- 审核按钮(只在审核模式且未审核时显示) -->
-        <template v-if="isAuditMode && form.isAudit === 0">
-          <el-button type="success" @click="handleAuditPass">审核通过</el-button>
-          <el-button type="danger" @click="handleAuditReject">审核驳回</el-button>
-        </template>
-        <el-button @click="cancel">关 闭</el-button>
-      </div>
-    </el-dialog>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="商品总数">
+                <span>{{dialogForm.productCount || 0}}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="销量">
+                <span>{{dialogForm.salesCount || 0}}</span>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="累计金额">
+                <span>{{dialogForm.totalMoney || 0}}</span>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="分佣方式">
+                <span v-if="dialogForm.brokerageType == 1">每盒</span>
+                <span v-else-if="dialogForm.brokerageType == 2">总价</span>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="状态">
+                <dict-tag :options="statusOptions" :value="dialogForm.status"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="审核状态">
+                <dict-tag :options="isAuditOptions" :value="dialogForm.isAudit"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="配送方式">
+            <span v-if="dialogForm.shippingType">
+              <span v-if="dialogForm.shippingType.includes('1') || dialogForm.shippingType === '1'">配送</span>
+              <span v-if="dialogForm.shippingType.includes('2') || dialogForm.shippingType === '2'">,自提</span>
+              <span v-if="dialogForm.shippingType.includes('3') || dialogForm.shippingType === '3'">,配送自提</span>
+            </span>
+          </el-form-item>
+          <el-form-item label="登录帐号">
+            <el-input v-model="dialogForm.account" />
+          </el-form-item>
+        </el-form>
+      </template>
+    </StoreDialog>
 
 
   </div>
   </div>
 
 
@@ -337,10 +457,11 @@ import { audit, listStore, exportStore, getStore, getStoreAuditLog } from "@/api
 import { getCitys } from "@/api/store/city";
 import { getCitys } from "@/api/store/city";
 import { getConfigByKey } from '@/api/system/config';
 import { getConfigByKey } from '@/api/system/config';
 import ImageUpload from '@/components/ImageUpload';
 import ImageUpload from '@/components/ImageUpload';
+import StoreDialog from '../components/StoreDialog.vue';
 
 
 export default {
 export default {
   name: "adutstore",
   name: "adutstore",
-  components: { ImageUpload },
+  components: { ImageUpload, StoreDialog },
   data() {
   data() {
     return {
     return {
       // 弹出层标题
       // 弹出层标题
@@ -520,6 +641,26 @@ export default {
       }).catch(() => {});
       }).catch(() => {});
     },
     },
 
 
+    /** 处理审核提交 */
+    handleAuditSubmit(auditData) {
+      audit(auditData).then(res => {
+        if (res.code === 200) {
+          this.msgSuccess(auditData.isAudit === 1 ? "审核通过成功" : "审核驳回成功");
+          this.open = false;
+          this.getList();
+        } else {
+          this.msgError("审核失败");
+        }
+      }).catch(() => {
+        this.msgError("审核操作失败");
+      });
+    },
+
+    /** 对话框关闭 */
+    handleDialogClose() {
+      this.reset();
+    },
+
     handleCityChange(value) {
     handleCityChange(value) {
       var nodes=this.$refs.citySelect.getCheckedNodes();
       var nodes=this.$refs.citySelect.getCheckedNodes();
       this.form.address=nodes[0].pathLabels[0]+nodes[0].pathLabels[1]+nodes[0].pathLabels[2];
       this.form.address=nodes[0].pathLabels[0]+nodes[0].pathLabels[1]+nodes[0].pathLabels[2];
@@ -573,8 +714,6 @@ export default {
     cancel() {
     cancel() {
       this.open = false;
       this.open = false;
       this.reset();
       this.reset();
-      // 清空审核表单
-      this.auditForm = { reason: '', attachImage: '' };
     },
     },
     // 表单重置
     // 表单重置
     reset() {
     reset() {

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

@@ -1027,12 +1027,13 @@
 <script>
 <script>
 import { listStore, getStore, delStore, addStore, updateStore, exportStore, refreshPasWod,exportFsStream, businessLicenseCheck} from '@/api/hisStore/store'
 import { listStore, getStore, delStore, addStore, updateStore, exportStore, refreshPasWod,exportFsStream, businessLicenseCheck} from '@/api/hisStore/store'
 import storeDetails from '../components/storeDetails.vue';
 import storeDetails from '../components/storeDetails.vue';
+import StoreDialog from '../components/StoreDialog.vue';
 import {getCitys} from "@/api/store/city";
 import {getCitys} from "@/api/store/city";
 import { getConfigByKey } from '@/api/system/config'
 import { getConfigByKey } from '@/api/system/config'
 import { qualifications } from '@/api/system/user';
 import { qualifications } from '@/api/system/user';
 export default {
 export default {
   name: "Store",
   name: "Store",
-  components: { storeDetails },
+  components: { storeDetails, StoreDialog },
   data() {
   data() {
     return {
     return {
       // 新增:控制LOGO上传组件禁用状态
       // 新增:控制LOGO上传组件禁用状态
@@ -1041,6 +1042,11 @@ export default {
       dialogVisible: false,
       dialogVisible: false,
       // 控制是否为查看模式(只读)
       // 控制是否为查看模式(只读)
       isViewMode: false,
       isViewMode: false,
+      // 店铺对话框相关
+      storeDialogVisible: false,
+      storeDialogMode: 'add', // add, edit, detail
+      currentStoreData: {},
+      auditLogs: [],
       switchValue:false,
       switchValue:false,
       switchMedicalValue:false,
       switchMedicalValue:false,
       drugLicenseValue:false,
       drugLicenseValue:false,