Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

yfh 6 dienas atpakaļ
vecāks
revīzija
3a61ccbfd4

+ 1 - 1
.env.prod-ddgy

@@ -1,5 +1,5 @@
 # 页面标题
-VUE_APP_TITLE =互联网医院管理系统
+VUE_APP_TITLE =叮当国医总管理系统
 # 首页菜单标题
 VUE_APP_TITLE_INDEX =叮当国医管理系统
 # 公司名称

+ 1 - 1
.env.prod-hat

@@ -1,5 +1,5 @@
 # 页面标题
-VUE_APP_TITLE =互联网医院管理系统
+VUE_APP_TITLE =恒安图总管理系统
 # 首页菜单标题
 VUE_APP_TITLE_INDEX =恒安图管理系统
 # 公司名称

+ 1 - 1
.env.prod-sxjz

@@ -1,5 +1,5 @@
 # 页面标题
-VUE_APP_TITLE =互联网医院管理系统
+VUE_APP_TITLE =挑宝总管理系统
 # 首页菜单标题
 VUE_APP_TITLE_INDEX =挑宝网
 # 公司名称

+ 10 - 0
src/api/course/courseRedPacketStatistics.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 查询短链课程看课记录列表
+export function list(query) {
+  return request({
+    url: '/course/courseRedPacketStatistics/list',
+    method: 'get',
+    params: query
+  })
+}

+ 9 - 0
src/api/his/integralOrder.js

@@ -78,3 +78,12 @@ export function getOrderUserPhone(orderId) {
     method: 'get'
   })
 }
+
+//取消订单
+export function cancelOrder(orderCode) {
+  return request({
+    url: '/his/integralOrder/cancelOrder',
+    method: 'post',
+    data: {orderCode}
+  })
+}

+ 24 - 0
src/api/qw/externalContactTransferAudit.js

@@ -0,0 +1,24 @@
+import request from '@/utils/request'
+
+export function listExternalContactTransferAudit(query) {
+  return request({
+    url: '/qw/externalContactTransferCompanyAudit/list',
+    method: 'get',
+    params: query
+  })
+}
+
+export function detail(auditId) {
+  return request({
+    url: '/qw/externalContactTransferCompanyAudit/detail/' + auditId,
+    method: 'get',
+  })
+}
+
+export function audit(data) {
+  return request({
+    url: '/qw/externalContactTransferCompanyAudit/audit',
+    method: 'post',
+    data: data
+  })
+}

+ 7 - 7
src/views/company/companyMoneyLogs/index.vue

@@ -90,11 +90,11 @@
           @click="handleExport(1)"
           v-hasPermi="['company:companyMoneyLogs:export1']"
         >导出商城订单明细</el-button>
-		
+
         <!-- <el-button
           type="warning"
           icon="el-icon-download"
-          size="mini" 
+          size="mini"
           @click="handleExport(2)"
           v-hasPermi="['company:companyMoneyLogs:export2']"
         >导出收款订单明细</el-button> -->
@@ -106,8 +106,8 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="ID" align="center" prop="logsId" />
       <el-table-column label="企业" align="center" prop="companyName" />
-      <el-table-column label="金额" align="center" prop="money" />
-      <el-table-column label="余额" align="center" prop="balance" />
+      <el-table-column label="红包金额" align="center" prop="money" />
+      <el-table-column label="红包余额" align="center" prop="balance" />
 
       <el-table-column label="商城订单号" align="center" prop="orderCode"  v-if="queryParams.logsType==3 || queryParams.logsType==4 ||queryParams.logsType==5 || queryParams.logsType==6"  />
       <el-table-column label="支付类型" align="center" prop="payTypeCode"  v-if="queryParams.logsType==3 || queryParams.logsType==4 ||queryParams.logsType==5 || queryParams.logsType==6 " />
@@ -249,7 +249,7 @@ export default {
   },
   methods: {
     handleDetails(row){
-      
+
       const orderId = row.businessId ;
       if(row.logsType==3||row.logsType==4||row.logsType==5||row.logsType==6 ||row.logsType==13||row.logsType==14){
         this.show.open=true;
@@ -263,7 +263,7 @@ export default {
             this.$refs.Details.getDetails(orderId);
       }, 1);
       }
-      
+
     },
     /** 查询企业账户记录列表 */
     getList() {
@@ -322,7 +322,7 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
-			 
+
       this.reset();
       this.open = true;
       this.title = "添加企业账户记录";

+ 206 - 0
src/views/course/courseRedPacketStatistics/index.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="course-red-packet-statistics">
+    <!-- 查询条件 -->
+    <el-card class="search-card">
+      <el-form :model="queryForm" ref="queryForm" label-width="80px" inline>
+        <el-row :gutter="20">
+          <el-col :span="6">
+            <el-form-item label="公司名" prop="companyId">
+              <el-select filterable style="width: 220px" v-model="queryForm.companyId" @change="handleSeller" placeholder="请选择公司名" clearable size="small">
+                <el-option
+                  v-for="item in companys"
+                  :key="item.companyId"
+                  :label="item.companyName"
+                  :value="item.companyId"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="6">
+            <el-form-item label="员工" prop="nickName" v-if="queryForm.companyId">
+              <el-select v-model="queryForm.companyUserId" remote placeholder="请选择" filterable clearable  style="width: 100%;" @keyup.enter.native="handleQuery">
+                <el-option
+                  v-for="dict in companyUserList"
+                  :key="dict.userId"
+                  :label="`${dict.nickName}`"
+                  :value="dict.userId">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="6">
+            <el-form-item label="创建时间" prop="createTime">
+              <el-date-picker v-model="createTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="change"></el-date-picker>
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="6">
+            <el-form-item label="状态" prop="status">
+              <el-select v-model="queryForm.status" placeholder="请选择状态" clearable style="width: 100%">
+                <el-option label="全部" value=""></el-option>
+                <el-option label="发送中" value="0"></el-option>
+                <el-option label="已发送" value="1"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        
+        <el-row>
+          <el-col :span="24" class="text-right">
+            <el-button type="primary" @click="handleSearch">查询</el-button>
+            <el-button @click="resetQuery">重置</el-button>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    
+    <!-- 统计结果 -->
+    <el-card class="result-card">
+      <div slot="header">
+        <span>红包发送统计</span>
+      </div>
+      
+      <el-table :data="statisticsData" border style="width: 100%" v-loading="loading">
+        <el-table-column prop="companyName" label="公司名称" align="center"></el-table-column>
+        <el-table-column prop="nickName" label="员工姓名" align="center"></el-table-column>
+        <el-table-column prop="companyUserId" label="员工编号" align="center"></el-table-column>
+        <el-table-column prop="redPacketNum" label="红包数" align="center"></el-table-column>
+        <el-table-column prop="redPacketTotalMoney" label="总金额(元)" align="center">
+          <template slot-scope="scope">
+            {{ scope.row.redPacketTotalMoney.toFixed(2) }}
+          </template>
+        </el-table-column>
+      </el-table>
+      
+      <div class="pagination-container">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="pageInfo.currentPage"
+          :page-sizes="[10, 20, 50, 100]"
+          :page-size="pageInfo.pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="pageInfo.total">
+        </el-pagination>
+      </div>
+    </el-card>
+  </div>
+</template>
+
+<script>
+import {getCompanyList} from "@/api/company/company";
+import {getUserList} from "@/api/company/companyUser";
+import {list} from "@/api/course/courseRedPacketStatistics";
+export default {
+  name: 'CourseRedPacketStatistics',
+  data() {
+    return {
+      companys:[],
+      companyUserList:[],
+      createTime: [],
+      queryForm: {
+        companyId: '',
+        companyUserId: '',
+        startTime:null,
+        endTime:null,
+        status: ''
+      },
+      statisticsData: [],
+      loading: false,
+      pageInfo: {
+        currentPage: 1,
+        pageSize: 10,
+        total: 0
+      }
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  created() {
+      getCompanyList().then(response => {
+          this.companys = response.data;
+          if(this.companys!=null&&this.companys.length>0){
+            this.companyId=this.companys[0].companyId;
+          }
+      });
+    },
+  methods: {
+    
+    
+    handleSearch() {
+      this.pageInfo.currentPage = 1
+      this.getList();
+    },
+    change() {
+      if (this.createTime) {
+        this.queryForm.startTime = this.createTime[0];
+        this.queryForm.endTime = this.createTime[1];
+      } else {
+        this.queryForm.startTime = null;
+        this.queryForm.endTime = null;
+      }
+    },
+    handleSeller(){
+      console.log(this.queryForm.companyId)
+      if(this.queryForm.companyId != null) {
+        getUserList(this.queryForm.companyId).then(res=>{
+          if(res.code === 200) {
+            this.companyUserList = res.data
+          }
+        })
+      }
+    },
+    
+    resetQuery() {
+      this.$refs.queryForm.resetFields()
+      this.queryForm.dateRange = []
+      this.handleSearch()
+    },
+    
+    getList() {
+      this.loading = true
+      // 查询统计
+      list(this.queryForm).then(response => {
+        this.statisticsData = response.data.list;
+        this.pageInfo.total = response.data.total;
+        this.loading = false;
+      });
+    },
+    
+    handleSizeChange(val) {
+      this.pageInfo.pageSize = val
+      this.pageInfo.currentPage = 1
+      this.getList()
+    },
+    
+    handleCurrentChange(val) {
+      this.pageInfo.currentPage = val
+      this.getList()
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.course-red-packet-statistics {
+  padding: 20px;
+  
+  .search-card {
+    margin-bottom: 20px;
+  }
+  
+  .result-card {
+    .pagination-container {
+      margin-top: 20px;
+      text-align: right;
+    }
+  }
+  
+  .text-right {
+    text-align: right;
+  }
+}
+</style>

+ 26 - 1
src/views/his/integralOrder/index.vue

@@ -147,6 +147,13 @@
              @click="handledetails(scope.row)"
              >详情
           </el-button>
+          <el-button
+              size="mini"
+              type="text"
+              @click="cancelOrder(scope.row.orderCode)"
+              v-if="scope.row.status === '1'"
+            >取消订单
+            </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -256,7 +263,7 @@
 </template>
 
 <script>
-import {importTemplate, listIntegralOrder,importExpressTemplate, getIntegralOrder, delIntegralOrder, addIntegralOrder, updateIntegralOrder, exportIntegralOrder } from "@/api/his/integralOrder";
+import {importTemplate, listIntegralOrder,importExpressTemplate, getIntegralOrder, delIntegralOrder, addIntegralOrder, updateIntegralOrder, exportIntegralOrder,cancelOrder } from "@/api/his/integralOrder";
 import integralOrderDetails from '../../components/his/integralOrderDetails.vue';
 import { getToken } from "@/utils/auth";
 import {getCompanyList} from "@/api/company/company";
@@ -355,6 +362,24 @@ export default {
     });
   },
   methods: {
+     //取消订单
+     cancelOrder(orderCode){
+      this.$confirm('确定取消此订单?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        console.log("orderCode",orderCode)
+        cancelOrder(orderCode).then(()=>{
+          this.$message({
+            type: 'success',
+            message: '取消成功!'
+          });
+          this.getList();
+        })
+      }).catch(() => {
+      });
+    },
     change(){
           if(this.createTime!=null){
             this.queryParams.sTime=this.createTime[0];

+ 261 - 0
src/views/qw/externalContactTransferAudit/index.vue

@@ -0,0 +1,261 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="公司名称" prop="companyName">
+        <el-input
+          v-model="queryParams.companyName"
+          placeholder="请输入销售公司名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="主体名称" prop="corpName">
+        <el-input
+          v-model="queryParams.corpName"
+          placeholder="请输入企微主体名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="销售名称" prop="companyUserName">
+        <el-input
+          v-model="queryParams.companyUserName"
+          placeholder="请输入销售名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="审核状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择" clearable >
+          <el-option :value="0" label="全部"/>
+          <el-option
+            v-for="item in auditStatusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </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>
+      </el-form-item>
+    </el-form>
+
+    <el-table v-loading="loading" :data="list" border>
+      <el-table-column label="主体名称" align="center" prop="corpName" />
+      <el-table-column label="接替公司名称" align="center" prop="companyName" />
+      <el-table-column label="接替销售名称" align="center" prop="companyUserName" />
+      <el-table-column label="接替企微用户名称" align="center" prop="qwUserName" />
+      <el-table-column label="审核状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="auditStatusOptions" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="提交时间" align="center" prop="createTime" />
+      <el-table-column label="审核时间" align="center" prop="auditTime" />
+      <el-table-column label="被拒原因" align="center" prop="reason" />
+      <el-table-column label="提交人" align="center" prop="createBy" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            @click="handleAudit(scope.row)"
+            v-if="scope.row.status === 1"
+            v-hasPermi="['qw:externalContactTransferCompanyAudit:audit']"
+          >审核</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            @click="handleView(scope.row)"
+            v-hasPermi="['qw:externalContactTransferCompanyAudit:detail']"
+          >详情</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <el-dialog title="审核" :visible.sync="dialogAuditVisible" width="800px" append-to-body>
+      <el-form :model="from" ref="auditForm" :rules="rules" label-width="100px">
+        <el-form-item label="审核结果" prop="type">
+          <el-radio-group v-model="from.type">
+            <el-radio label="1">通过</el-radio>
+            <el-radio label="2">拒绝</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item v-if="from.type === '2'" label="拒绝原因" prop="reason">
+          <el-input type="textarea" :rows="2" v-model="from.reason" placeholder="请输入拒绝原因" clearable size="small" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary"
+                   @click="submitForm"
+                   :disabled="submitLoading"
+                   :loading="submitLoading">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+
+    <el-drawer title="详情" size="75%" :visible.sync="dialogViewVisible" append-to-body>
+      <el-table v-loading="detailLoading" :data="userList" border>
+        <el-table-column label="客户名称" align="center" prop="externalUserName" />
+        <el-table-column label="原公司名称" align="center" prop="companyName" />
+        <el-table-column label="原销售名称" align="center" prop="companyUserName" />
+        <el-table-column label="原企微用户名称" align="center" prop="qwUserName" />
+        <el-table-column label="备注" align="center" prop="remark" />
+        <el-table-column label="接替状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <dict-tag :options="replaceStatusOptions" :value="scope.row.status"/>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import { audit, detail, listExternalContactTransferAudit } from '@/api/qw/externalContactTransferAudit'
+
+export default {
+  name: "externalContactTransferAudit",
+  data() {
+    return {
+      loading: false,
+      showSearch: true,
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        companyName: null,
+        corpName: null,
+        companyUserName: null,
+        status: 0,
+      },
+      total: 0,
+      list: [],
+      auditStatusOptions: [],
+      replaceStatusOptions: [],
+      dialogAuditVisible: false,
+      dialogViewVisible: false,
+      detailLoading: false,
+      userList: [],
+      from: {
+        id: null,
+        type: null,
+        reason: null
+      },
+      rules: {
+        type: [
+          { required: true, message: "请选择审核结果", trigger: "blur" }
+        ]
+      },
+      submitLoading: false
+    }
+  },
+  created() {
+    this.getDicts("sys_qw_transfer_audit_status").then((response) => {
+      this.auditStatusOptions = response.data;
+    });
+    this.getDicts("sys_qw_transfer_status").then((response) => {
+      this.replaceStatusOptions = response.data;
+    });
+    this.handleQuery()
+  },
+  methods: {
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    resetQuery() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        companyName: null,
+        corpName: null,
+        companyUserName: null,
+        status: 0,
+      };
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    getList() {
+      this.loading = true
+      const params = {
+        ...this.queryParams,
+        status: this.queryParams.status === 0 ? null : this.queryParams.status
+      }
+      listExternalContactTransferAudit(params).then(response => {
+        this.list = response.rows.map(item => {
+          return {
+            ...item,
+            createTime: item.createTime ? item.createTime.replace("T", " ") : null,
+            auditTime: item.auditTime ? item.auditTime.replace("T", " ") : null,
+          }
+        })
+        this.total = response.total
+        this.loading = false
+      })
+    },
+    reset() {
+      this.from = {
+        id: null,
+        type: null,
+        reason: null
+      }
+      this.resetForm("auditForm")
+    },
+    handleAudit(row) {
+      this.reset()
+      this.from.id = row.id
+      this.submitLoading = false
+      this.dialogAuditVisible = true
+    },
+    handleView(row) {
+      this.detailLoading = true
+      detail(row.id).then(response => {
+        this.userList = response.data
+        this.detailLoading = false
+      })
+      this.dialogViewVisible = true
+    },
+    submitForm() {
+      this.$refs["auditForm"].validate(valid => {
+        if (valid) {
+          if (this.submitLoading) {
+             return
+          }
+          this.submitLoading = true
+          const params = {
+            auditId: this.from.id,
+            type: this.from.type,
+            reason: this.from.reason
+          }
+          audit(params).then(() => {
+            this.$message.success("操作成功, 请在详情查看转接结果");
+            this.dialogAuditVisible = false
+            this.getList()
+          })
+        }
+      })
+    },
+    cancel() {
+      this.dialogAuditVisible = false
+      this.reset()
+    },
+  },
+}
+</script>
+
+<style scoped>
+
+</style>

+ 159 - 154
src/views/sop/companySopRole/index.vue

@@ -1,86 +1,88 @@
 <template>
   <div class="app-container">
-<!--    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">-->
-<!--      <el-form-item label="销售公司" prop="companyId">-->
-<!--        <el-input-->
-<!--          v-model="queryParams.companyId"-->
-<!--          placeholder="请输入销售公司"-->
-<!--          clearable-->
-<!--          size="small"-->
-<!--          @keyup.enter.native="handleQuery"-->
-<!--        />-->
-<!--      </el-form-item>-->
-<!--      <el-form-item label="权限名称" prop="roleName">-->
-<!--        <el-input-->
-<!--          v-model="queryParams.roleName"-->
-<!--          placeholder="请输入权限名称"-->
-<!--          clearable-->
-<!--          size="small"-->
-<!--          @keyup.enter.native="handleQuery"-->
-<!--        />-->
-<!--      </el-form-item>-->
-<!--      <el-form-item>-->
-<!--        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
-<!--        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
-<!--      </el-form-item>-->
-<!--    </el-form>-->
+    <!--    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">-->
+    <!--      <el-form-item label="销售公司" prop="companyId">-->
+    <!--        <el-input-->
+    <!--          v-model="queryParams.companyId"-->
+    <!--          placeholder="请输入销售公司"-->
+    <!--          clearable-->
+    <!--          size="small"-->
+    <!--          @keyup.enter.native="handleQuery"-->
+    <!--        />-->
+    <!--      </el-form-item>-->
+    <!--      <el-form-item label="权限名称" prop="roleName">-->
+    <!--        <el-input-->
+    <!--          v-model="queryParams.roleName"-->
+    <!--          placeholder="请输入权限名称"-->
+    <!--          clearable-->
+    <!--          size="small"-->
+    <!--          @keyup.enter.native="handleQuery"-->
+    <!--        />-->
+    <!--      </el-form-item>-->
+    <!--      <el-form-item>-->
+    <!--        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
+    <!--        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
+    <!--      </el-form-item>-->
+    <!--    </el-form>-->
 
-<!--    <el-row :gutter="10" class="mb8">-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="primary"-->
-<!--          plain-->
-<!--          icon="el-icon-plus"-->
-<!--          size="mini"-->
-<!--          @click="handleAdd"-->
-<!--          v-hasPermi="['sop:companySopRole:add']"-->
-<!--        >新增</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="success"-->
-<!--          plain-->
-<!--          icon="el-icon-edit"-->
-<!--          size="mini"-->
-<!--          :disabled="single"-->
-<!--          @click="handleUpdate"-->
-<!--          v-hasPermi="['sop:companySopRole:edit']"-->
-<!--        >修改</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="danger"-->
-<!--          plain-->
-<!--          icon="el-icon-delete"-->
-<!--          size="mini"-->
-<!--          :disabled="multiple"-->
-<!--          @click="handleDelete"-->
-<!--          v-hasPermi="['sop:companySopRole:remove']"-->
-<!--        >删除</el-button>-->
-<!--      </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="warning"-->
-<!--          plain-->
-<!--          icon="el-icon-download"-->
-<!--          size="mini"-->
-<!--          :loading="exportLoading"-->
-<!--          @click="handleExport"-->
-<!--          v-hasPermi="['sop:companySopRole:export']"-->
-<!--        >导出</el-button>-->
-<!--      </el-col>-->
-<!--    </el-row>-->
+    <!--    <el-row :gutter="10" class="mb8">-->
+    <!--      <el-col :span="1.5">-->
+    <!--        <el-button-->
+    <!--          type="primary"-->
+    <!--          plain-->
+    <!--          icon="el-icon-plus"-->
+    <!--          size="mini"-->
+    <!--          @click="handleAdd"-->
+    <!--          v-hasPermi="['sop:companySopRole:add']"-->
+    <!--        >新增</el-button>-->
+    <!--      </el-col>-->
+    <!--      <el-col :span="1.5">-->
+    <!--        <el-button-->
+    <!--          type="success"-->
+    <!--          plain-->
+    <!--          icon="el-icon-edit"-->
+    <!--          size="mini"-->
+    <!--          :disabled="single"-->
+    <!--          @click="handleUpdate"-->
+    <!--          v-hasPermi="['sop:companySopRole:edit']"-->
+    <!--        >修改</el-button>-->
+    <!--      </el-col>-->
+    <!--      <el-col :span="1.5">-->
+    <!--        <el-button-->
+    <!--          type="danger"-->
+    <!--          plain-->
+    <!--          icon="el-icon-delete"-->
+    <!--          size="mini"-->
+    <!--          :disabled="multiple"-->
+    <!--          @click="handleDelete"-->
+    <!--          v-hasPermi="['sop:companySopRole:remove']"-->
+    <!--        >删除</el-button>-->
+    <!--      </el-col>-->
+    <!--      <el-col :span="1.5">-->
+    <!--        <el-button-->
+    <!--          type="warning"-->
+    <!--          plain-->
+    <!--          icon="el-icon-download"-->
+    <!--          size="mini"-->
+    <!--          :loading="exportLoading"-->
+    <!--          @click="handleExport"-->
+    <!--          v-hasPermi="['sop:companySopRole:export']"-->
+    <!--        >导出</el-button>-->
+    <!--      </el-col>-->
+    <!--    </el-row>-->
 
     <el-table border v-loading="loading" :data="companySopRoleList">
       <el-table-column label="销售公司" align="center" prop="companyId">
         <template slot-scope="scope">
-          <el-tag v-for="item in companyList" v-if="item.companyId == scope.row.companyId"> {{scope.row.companyName}}</el-tag>
+          <el-tag v-for="item in companyList" v-if="item.companyId == scope.row.companyId">
+            {{ scope.row.companyName }}
+          </el-tag>
         </template>
       </el-table-column>
       <el-table-column label="权限" align="center">
         <template slot-scope="scope">
           <div style="display: flex;flex-flow: wrap;justify-content: flex-start;">
-            <el-tag style="width: 30%;margin: 0 5px" v-for="item in scope.row.rules">{{roleMap[item]}}</el-tag>
+            <el-tag style="width: 30%;margin: 0 5px" v-for="item in scope.row.rules">{{ roleMap[item] }}</el-tag>
           </div>
         </template>
       </el-table-column>
@@ -92,7 +94,8 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['sop:companySopRole:edit']"
-          >修改</el-button>
+          >修改
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -109,7 +112,7 @@
     <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="销售公司" prop="companyId">
-          <el-select filterable  v-model="form.companyId" placeholder="请选择公司名" size="small">
+          <el-select filterable v-model="form.companyId" placeholder="请选择公司名" size="small">
             <el-option
               v-for="item in companyList"
               :key="item.companyId"
@@ -121,7 +124,9 @@
         <el-form-item label="权限" prop="rules">
           <div style="margin: 15px 0;"></div>
           <el-checkbox-group v-model="form.rules" style="display: flex;flex-flow: wrap;justify-content: flex-start;">
-            <el-checkbox style="width: 28%" v-for="item in roleOptions" :label="item.dictValue" :key="item.dictValue">{{item.dictLabel}}</el-checkbox>
+            <el-checkbox style="width: 28%" v-for="item in roleOptions" :label="item.dictValue" :key="item.dictValue">
+              {{ item.dictLabel }}
+            </el-checkbox>
           </el-checkbox-group>
         </el-form-item>
       </el-form>
@@ -134,11 +139,18 @@
 </template>
 
 <script>
-import { listCompanySopRole, getCompanySopRole, delCompanySopRole, addCompanySopRole, updateCompanySopRole, exportCompanySopRole } from "@/api/sop/companySopRole";
-import { getCompanyList } from "@/api/company/company";
+import {
+  listCompanySopRole,
+  getCompanySopRole,
+  delCompanySopRole,
+  addCompanySopRole,
+  updateCompanySopRole,
+  exportCompanySopRole
+} from '@/api/sop/companySopRole'
+import { getCompanyList } from '@/api/company/company'
 
 export default {
-  name: "CompanySopRole",
+  name: 'CompanySopRole',
   data() {
     return {
       // 遮罩层
@@ -160,7 +172,7 @@ export default {
       roleOptions: [],
       roleMap: [],
       // 弹出层标题
-      title: "",
+      title: '',
       // 是否显示弹出层
       open: false,
       companyList: [],
@@ -170,43 +182,42 @@ export default {
         pageSize: 10,
         companyId: null,
         roleName: null,
-        roleValue: null,
+        roleValue: null
       },
       // 表单参数
       form: {},
       // 表单校验
-      rules: {
-      }
-    };
+      rules: {}
+    }
   },
   created() {
-    this.getList();
-    this.getDicts("company_sop_role").then(response => {
-      this.roleOptions = response.data;
+    this.getList()
+    this.getDicts('company_sop_role').then(response => {
+      this.roleOptions = response.data
       this.roleMap = response.data.reduce((obj, item) => {
-        obj[item.dictValue] = item.dictLabel;
-        return obj;
-      }, {});
-    });
+        obj[item.dictValue] = item.dictLabel
+        return obj
+      }, {})
+    })
     getCompanyList().then(response => {
-      this.companyList = response.data;
-    });
+      this.companyList = response.data
+    })
   },
   methods: {
     /** 查询公司SOP权限列表 */
     getList() {
-      this.loading = true;
+      this.loading = true
       listCompanySopRole(this.queryParams).then(response => {
         console.info(response.rows)
-        this.companySopRoleList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
+        this.companySopRoleList = response.rows
+        this.total = response.total
+        this.loading = false
+      })
     },
     // 取消按钮
     cancel() {
-      this.open = false;
-      this.reset();
+      this.open = false
+      this.reset()
     },
     // 表单重置
     reset() {
@@ -221,90 +232,84 @@ export default {
         updateTime: null,
         rules: this.roleOptions.map(e => e.dictValue),
         remark: null
-      };
-      this.resetForm("form");
+      }
+      this.resetForm('form')
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
+      this.queryParams.pageNum = 1
+      this.getList()
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
+      this.resetForm('queryForm')
+      this.handleQuery()
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
+      this.single = selection.length !== 1
       this.multiple = !selection.length
     },
     /** 新增按钮操作 */
     handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加公司SOP权限";
+      this.reset()
+      this.open = true
+      this.title = '添加公司SOP权限'
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
-      this.reset();
-      if(row.rules && row.rules.length > 0){
-        this.form.rules = row.rules;
+      this.reset()
+      if (row.rules && row.rules.length > 0) {
+        this.form.rules = row.rules
       }
-      this.form.companyId = row.companyId;
-      this.open = true;
-      this.title = "修改公司SOP权限";
+      this.form.companyId = row.companyId
+      this.open = true
+      this.title = '修改公司SOP权限'
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate(valid => {
+      this.$refs['form'].validate(valid => {
         if (valid) {
-          if (this.form.id != null) {
-            updateCompanySopRole(this.form).then(response => {
-              this.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addCompanySopRole(this.form).then(response => {
-              this.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
+          updateCompanySopRole(this.form).then(response => {
+            this.msgSuccess('修改成功')
+            this.open = false
+            this.getList()
+          })
         }
-      });
+      })
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$confirm('是否确认删除公司SOP权限编号为"' + ids + '"的数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          return delCompanySopRole(ids);
-        }).then(() => {
-          this.getList();
-          this.msgSuccess("删除成功");
-        }).catch(() => {});
+      const ids = row.id || this.ids
+      this.$confirm('是否确认删除公司SOP权限编号为"' + ids + '"的数据项?', '警告', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(function() {
+        return delCompanySopRole(ids)
+      }).then(() => {
+        this.getList()
+        this.msgSuccess('删除成功')
+      }).catch(() => {
+      })
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有公司SOP权限数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          this.exportLoading = true;
-          return exportCompanySopRole(queryParams);
-        }).then(response => {
-          this.download(response.msg);
-          this.exportLoading = false;
-        }).catch(() => {});
-    },
+      const queryParams = this.queryParams
+      this.$confirm('是否确认导出所有公司SOP权限数据项?', '警告', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.exportLoading = true
+        return exportCompanySopRole(queryParams)
+      }).then(response => {
+        this.download(response.msg)
+        this.exportLoading = false
+      }).catch(() => {
+      })
+    }
   }
-};
+}
 </script>

+ 45 - 1
src/views/system/config/config.vue

@@ -308,6 +308,11 @@
               <el-input-number v-model="form7.storeCall" :min="0" :max="100"></el-input-number>
             </el-tooltip>
           </el-form-item>
+          <el-form-item  label="最低阈值" prop="minimumThreshold">
+            <el-tooltip class="item" effect="dark" content="最低阈值" placement="top-end">
+              <el-input-number    v-model="form7.minimumThreshold"  :min="0"  ></el-input-number>
+            </el-tooltip>
+          </el-form-item>
           <el-form-item label="退货收货人" prop="refundConsignee">
             <el-tooltip class="item" effect="dark" content="退货收货人" placement="top-end">
               <el-input style="width:200px" v-model="form7.refundConsignee"></el-input>
@@ -1409,7 +1414,7 @@
             <el-tooltip class="item" effect="dark" content="会员看课小程序授权头像昵称,跳转H5服务号授权域名"
                         placement="top-end"
             >
-              <el-input style="width: 200px" v-model="form18.userCourseAuthDomain" label="跳转域名"></el-input>
+              <el-input style="width: 400px" v-model="form18.userCourseAuthDomain" label="跳转域名"></el-input>
             </el-tooltip>
           </el-form-item>
 
@@ -2231,6 +2236,33 @@
           </div>
         </el-form>
       </el-tab-pane>
+
+      <el-tab-pane label="资质证书展示" name="his.zzzs">
+        <el-form label-width="160px">
+          <el-form-item  label="ICP主体备案号:" prop="icpztbah">
+            <el-input v-model="form28.icpztbah" placeholder="请输入ICP主体备案号"></el-input>
+          </el-form-item>
+          <el-form-item  label="互联网药品信息服务备案:" prop="hlwypxxfwba">
+            <el-input v-model="form28.hlwypxxfwba" placeholder="请输入互联网药品信息服务备案"></el-input>
+          </el-form-item>
+          <el-form-item label="药品网络交易服务第三方平台备案:" prop="ypwljyfwdsfpt">
+            <el-input v-model="form28.ypwljyfwdsfpt" placeholder="请输入药品网络交易服务第三方平台备案"></el-input>
+          </el-form-item>
+          <el-form-item  label="医疗器械网络交易服务第三方平台备案号:" prop="ylqxwljyfwdsfptbah">
+            <el-input v-model="form28.ylqxwljyfwdsfptbah" placeholder="请输入医疗器械网络交易服务第三方平台备案号"></el-input>
+          </el-form-item>
+          <el-form-item  label="投诉举报邮箱:" prop="jbyx">
+            <el-input v-model="form28.jbyx" placeholder="请输入投诉举报邮箱"></el-input>
+          </el-form-item>
+          <el-form-item  label="联系电话:" prop="baxx">
+            <el-input v-model="form28.baxx" placeholder="请输入联系电话"></el-input>
+          </el-form-item>
+          <div class="footer">
+            <el-button type="primary" @click="submitForm28">提 交</el-button>
+          </div>
+        </el-form>
+      </el-tab-pane>
+
     </el-tabs>
 
 
@@ -2408,6 +2440,7 @@ export default {
         }
       },
       form27: {},
+      form28: {},
       storeProductScrmColumns:[],
       storeScrmColumns: [],
       photoArr: [],
@@ -2828,6 +2861,9 @@ export default {
           this.form27 = {...this.form27, ...JSON.parse(response.data.configValue)}
           console.log(this.form27)
         }
+        if (key == 'his.zzzs') {
+          this.form28 = {...this.form28, ...JSON.parse(response.data.configValue)}
+        }
       })
     },
     /** 提交按钮 */
@@ -3090,6 +3126,14 @@ export default {
         }
       })
     },
+    submitForm28(){
+      const param = { configId: this.configId, configKey: this.configKey, configValue: JSON.stringify(this.form28) }
+      updateConfigByKey(param).then(response => {
+        if (response.code === 200) {
+          this.msgSuccess('修改成功')
+        }
+      })
+    },
     formatColumns(){
       console.log(this.form27.pass_columns)