浏览代码

更新经销商授权信息管理页面、接口

002390 2 年之前
父节点
当前提交
0eed7e7505

+ 32 - 1
src/api/marketing/dealer-authorization.js

@@ -13,6 +13,37 @@ const dealerList = (params, page) => {
   })
 }
 
+// 经销商授权信息新增接口
+const dealerInsert = (data) => {
+  return request({
+    url: `dealer/insert`,
+    method: 'post',
+    data,
+  })
+}
+
+// 经销商授权信息列表
+const dealerDelete = (params) => {
+
+  return request({
+    url: `dealer/delete?id=${params.id}`,
+    method: 'get',
+    params,
+  })
+}
+
+// 经销商授权信息新增接口
+const dealerUpdate = (data) => {
+  return request({
+    url: `dealer/update`,
+    method: 'post',
+    data,
+  })
+}
+
 export default {
-  dealerList
+  dealerList,
+  dealerInsert,
+  dealerDelete,
+  dealerUpdate,
 }

+ 57 - 6
src/views/marketing/dealer-authorization/authprivAdd.vue

@@ -1,8 +1,8 @@
 <!-- 经销商授权信息 编辑新增-->
 <template>
   <el-dialog :title="isAdd ? '新增' : '编辑'" :visible.sync="visible" :close-on-click-modal="false"
-    :close-on-press-escape="false">
-    <el-form :model="formData" ref="authprivAdd" label-position="left" label-width="120px">
+    :close-on-press-escape="false" :before-close="beforeClose">
+    <el-form :model="formData" ref="authprivAdd" label-position="left" label-width="120px" v-loading="loading">
 
       <el-form-item v-for="column in formColumns" :label="column.title" :prop="column.key"
         :rules="{ required: true, message: `请输入${column.title}`, trigger: column.type == 'Input' ? 'blur' : 'change' }">
@@ -11,10 +11,11 @@
           autocomplete="off"></el-input>
 
         <el-date-picker v-if="column.type == 'DateRange'" :clearable="column.clearable" v-model="formData[column.key]"
-        format="yyyy-MM-dd " value-format="yyyy-MM-dd"   type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+          format="yyyy-MM-dd " value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期"
+          end-placeholder="结束日期"></el-date-picker>
 
         <el-date-picker v-if="column.type == 'Date'" :clearable="column.clearable" v-model="formData[column.key]"
-        format="yyyy-MM-dd " value-format="yyyy-MM-dd"   type="date" placeholder="选择日期"></el-date-picker>
+          format="yyyy-MM-dd " value-format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
 
       </el-form-item>
     </el-form>
@@ -26,7 +27,7 @@
 </template>
 
 <script>
-import { fcall } from 'q';
+import dealerApi from '@/api/marketing/dealer-authorization'
 
 export default {
 
@@ -61,6 +62,7 @@ export default {
     return {
       visible: false,
       isAdd: true,
+      loading: false,
       formData: { ...initFormData() },
       formColumns: initFormColumns(),
 
@@ -73,8 +75,37 @@ export default {
       this.visible = val;
 
     },
+    setFormData(data) {
+
+      this.loading = true;
+      if (data.id) {
+
+        let objData = { ...data };
+
+        objData['time'] = [objData.startTime, objData.endTime];
+
+        // delete data.startTime
+        // delete data.endTime
+        this.formData = objData;
+
+      }
+
+      setTimeout(() => {
+        this.loading = false;
+      }, 250);
+      
+    },
+    // 重置表单数据
+    handleResetData() {
+      for (const key in this.formData) {
+        this.formData[key] = '';
+      }
+
+      this.$refs['authprivAdd'].clearValidate();
+    },
     // 取消
     handleCancel() {
+        this.handleResetData();
       this.setVisible(false);
     },
     // 确定
@@ -93,6 +124,23 @@ export default {
           }
           delete params['time']
           console.log(params, 'params--------');
+
+          if (this.isAdd) {
+            // 新增
+            dealerApi.dealerInsert(params).then(res => {
+
+            }).catch(error => {
+
+            })
+          } else {
+            // 编辑
+            dealerApi.dealerUpdate(params).then(res => {
+
+            }).catch(error => {
+
+            })
+          }
+
           // this.setVisible(false);
         } else {
           console.log('error submit!!');
@@ -100,9 +148,12 @@ export default {
         }
       });
     },
+    beforeClose(done) {
+      this.handleResetData();
+      done();
+    },
   },
   created() {
-
   }
 
 }

+ 20 - 6
src/views/marketing/dealer-authorization/authprivSee.vue

@@ -5,11 +5,12 @@
       <el-form-item v-for="column in formColumns" :label="column.title" :prop="column.key">
         <el-input v-if="column.type == 'Input'" readonly v-model="formData[column.key]" autocomplete="off"></el-input>
 
-        <el-date-picker v-if="column.type == 'DateRange'" disabled v-model="formData[column.key]" type="daterange"
-        format="yyyy-MM-dd " value-format="yyyy-MM-dd"  range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+        <el-date-picker v-if="column.type == 'DateRange'" readonly v-model="formData[column.key]" type="daterange"
+          format="yyyy-MM-dd " value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期"
+          end-placeholder="结束日期"></el-date-picker>
 
-        <el-date-picker v-if="column.type == 'Date'" disabled v-model="formData[column.key]" type="date"
-        format="yyyy-MM-dd " value-format="yyyy-MM-dd"   placeholder="选择日期"></el-date-picker>
+        <el-date-picker v-if="column.type == 'Date'" readonly v-model="formData[column.key]" type="date"
+          format="yyyy-MM-dd " value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
 
       </el-form-item>
     </el-form>
@@ -23,7 +24,6 @@
 export default {
 
   name: 'authprivSee',
-
   data() {
     const arr2Obj = function (data, keyName, valueName) {
       return Object.fromEntries(
@@ -56,9 +56,23 @@ export default {
       this.visible = val;
 
     },
+    setFormData(data) {
+
+      if (data.id) {
+
+        let objData = { ...data };
+
+        objData['time'] = [objData.startTime, objData.endTime];
+
+        // delete data.startTime
+        // delete data.endTime
+        this.formData = objData;
+
+      }
+
+    },
   },
   created() {
-
   }
 
 }

+ 85 - 21
src/views/marketing/dealer-authorization/index.vue

@@ -10,10 +10,13 @@
       style="padding: 10px 0 0 0">
 
       <el-form-item v-for="column in searchColumns " :label="column.title" :key="column.key">
+
         <el-input v-if="column.type == 'Input'" v-model="searchParams[column.key]" clearable></el-input>
+
         <el-select v-if="column.type == 'Select'" v-model="searchParams[column.key]" clearable>
           <el-option v-for="op in column.options" :label="op.label" :value="op.value"></el-option>
         </el-select>
+
         <el-date-picker v-if="column.type == 'DateRange'" v-model="searchParams[column.key]" clearable type="daterange"
           format="yyyy-MM-dd " value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期"
           end-placeholder="结束日期">
@@ -21,15 +24,18 @@
       </el-form-item>
 
       <el-form-item>
-        <el-button type="primary" @click="handelSearch">查询</el-button>
-        <el-button @click="handelResetSearch">重置</el-button>
+        <el-button type="primary" icon="el-icon-search" @click="handelSearch"
+          v-hasPermi="['pu:authorization:list']">查询</el-button>
+        <el-button icon="el-icon-refresh" @click="handelResetSearch">重置</el-button>
       </el-form-item>
+
     </el-form>
 
     <!-- 操作区 -->
     <el-row :gutter="24" style="padding: 0 10px">
       <el-col :span="24" style="text-align: right">
-        <el-button size="mini" type="primary" @click="handleOpenAddDialog">新增</el-button>
+        <el-button size="mini" type="primary" @click="handleOpenAddDialog"
+          v-hasPermi="['pu:authorization:add']">新增</el-button>
         <el-button size="mini" @click="handleSubmit">提交</el-button>
         <el-button size="mini" @click="handleDownload">下载授权书</el-button>
       </el-col>
@@ -40,13 +46,18 @@
       highlight-current-row max-height="500">
       <el-table-column type="selection" width="35"></el-table-column>
       <el-table-column type="index" width="55" label="序号"></el-table-column>
-      <el-table-column v-for="column in tableColumns" :prop="column.key" :label="column.title" v-if="column.show"
+      <el-table-column v-for="column in tableColumns" :label="column.title" v-if="column.show"
         :width="column.width || 180">
+        <template slot-scope="scope">
+          {{ column.key == 'status' ? judgeStatus(scope.row[column.key]) : scope.row[column.key] }}
+        </template>
       </el-table-column>
       <el-table-column fixed="right" label="操作" width="120">
         <template slot-scope="scope">
-          <el-button type="text" size="small" @click="handleOpenAddDialog(scope.row)">编辑</el-button>
-          <el-button type="text" size="small" @click="handleDelDialog(scope.row)">删除</el-button>
+          <el-button type="text" size="small" @click="handleOpenAddDialog(scope.row)"
+            v-hasPermi="['pu:authorization:edit']">编辑</el-button>
+          <el-button type="text" size="small" @click="handleDelDialog(scope.row)"
+            v-hasPermi="['pu:authorization:remove']">删除</el-button>
           <el-button @click="handleOpenSeeDialog(scope.row)" type="text" size="small">查看</el-button>
         </template>
       </el-table-column>
@@ -63,6 +74,7 @@
 <script>
 import authprivAdd from './authprivAdd.vue';
 import authprivSee from './authprivSee.vue';
+import dealerApi from '@/api/marketing/dealer-authorization'
 
 export default {
 
@@ -133,15 +145,15 @@ export default {
           authorizedAreaCode: "授权区域/医院 编码",
           authorizedAreaName: "授权区域/医院 名称",
           authorizedProductsName: "授权产品 名称",
-          status: "状态",
+          status: "0",
           createPerson: "创建人",
           createTime: "创建时间",
           updatePerson: "最后修改人",
           updateTime: "最后修改时间",
           id: "主键id----该值不显示",
-          startTime: "开始时间",
-          endTime: "结束时间",
-          issueTime: "授权书开具时间",
+          startTime: "2023-01-02",
+          endTime: "2025-01-01",
+          issueTime: "2023-01-02",
         }
       ],
       checkedList: [],
@@ -151,8 +163,9 @@ export default {
     }
   },
   methods: {
-    // 查询
+    // 查询---列表查询
     handelSearch() {
+      this.loading = true;
       console.log(this.searchParams, '查询');
       let isTime = this.searchParams.time && this.searchParams.time != '' && this.searchParams.time.length;
       let params = {
@@ -163,6 +176,12 @@ export default {
       delete params['time']
       console.log(params, 'params--------');
 
+      dealerApi.dealerList(params, this.page).then(res => {
+        console.log(res, '获取列表');
+        this.loading = false;
+      }).catch(error => {
+        this.loading = false;
+      })
     },
     // 重置
     handelResetSearch() {
@@ -173,41 +192,86 @@ export default {
         this.searchParams[key] = '';
       }
     },
+    // 判断状态
+    judgeStatus(status) {
+      // 单据状态0=自由态,1=审批中,2=已审核,3=已驳回
+      let statusName = '';
+      switch (status) {
+        case '0':
+          statusName = '自由态';
+          break;
+        case '1':
+          statusName = '审批中';
+          break;
+        case '2':
+          statusName = '已审核';
+          break;
+        case '3':
+          statusName = '已驳回';
+          break;
+        default:
+          break;
+      }
+
+      return statusName;
+    },
     // 刷新
     handleRefresh() {
 
     },
-    handleSizeChange() { },
-    handleCurrentChange() { },
+    handleSizeChange(e) {
+      this.page.pageSize = e;
+      this.handelSearch();
+    },
+    handleCurrentChange(e) {
+      this.page.pageNum = e;
+      this.handelSearch();
+    },
 
     // 选择列表
     handleSelect(selection, row) {
       console.log('selection/////////', selection, 'row/////////', row);
       this.checkedList = [...selection];
     },
-    // 新增授权信息
+    // 新增、编辑授权信息
     handleOpenAddDialog(rows) {
       console.log(rows, '授权信息');
-
-      const { setVisible } = this.$refs.addDialogRef;
-
+      const { setVisible, setFormData } = this.$refs.addDialogRef;
+      setFormData(rows);
       setVisible(true);
 
     },
-    // 编辑、查看
+    // 查看
     handleOpenSeeDialog(rows) {
       console.log(rows, '编辑、查看');
-      const { setVisible } = this.$refs.seeDialogRef;
-
+      const { setVisible, setFormData } = this.$refs.seeDialogRef;
+      setFormData(rows);
       setVisible(true);
     },
     // 删除
     handleDelDialog(rows) {
       console.log(rows, '删除');
+
+      // dealerApi.dealerDelete().then(res => {
+      //   console.log(res, '删除');
+      // }).catch(error => {
+
+      // })
     },
     // 提交
     handleSubmit() {
-      console.log('提交');
+      console.log('批量提交');
+      let params = {
+        id: '',
+        status: ''
+      }
+      // 编辑
+      // dealerApi.dealerUpdate(params).then(res => {
+      //   console.log(res, '编辑');
+
+      // }).catch(error => {
+
+      // })
     },
     // 下载
     handleDownload() {