|
@@ -0,0 +1,238 @@
|
|
|
+<!-- 经销商授权信息管理--列表 -->
|
|
|
+<template>
|
|
|
+ <el-card class="dealerAuthorization" v-loading="loading" :body-style="{ padding: 0 }">
|
|
|
+
|
|
|
+ <authprivAdd ref="addDialogRef"></authprivAdd>
|
|
|
+ <authprivSee ref="seeDialogRef"></authprivSee>
|
|
|
+
|
|
|
+ <!-- 检索区 -->
|
|
|
+ <el-form :inline="true" size="mini" label-position="right" label-width="100px" :model="searchParams"
|
|
|
+ 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="结束日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="handelSearch">查询</el-button>
|
|
|
+ <el-button @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" @click="handleSubmit">提交</el-button>
|
|
|
+ <el-button size="mini" @click="handleDownload">下载授权书</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <!-- 数据展示 -->
|
|
|
+ <el-table class="da-table" @row-dblclick="handleOpenSeeDialog" @select="handleSelect" :data="tableData"
|
|
|
+ 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"
|
|
|
+ :width="column.width || 180">
|
|
|
+ </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 @click="handleOpenSeeDialog(scope.row)" type="text" size="small">查看</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :total="total"
|
|
|
+ :page-sizes="pageSizes" :page-size="page.pageSize" :current-page="page.pageNum" hide-on-single-page
|
|
|
+ layout="total, prev, pager, next, sizes, jumper">
|
|
|
+ </el-pagination>
|
|
|
+
|
|
|
+ </el-card>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import authprivAdd from './authprivAdd.vue';
|
|
|
+import authprivSee from './authprivSee.vue';
|
|
|
+
|
|
|
+export default {
|
|
|
+
|
|
|
+ name: 'dealerAuthorization',
|
|
|
+ components: {
|
|
|
+ authprivAdd,
|
|
|
+ authprivSee,
|
|
|
+ },
|
|
|
+
|
|
|
+ data() {
|
|
|
+ const arr2Obj = function (data, keyName, valueName) {
|
|
|
+ return Object.fromEntries(
|
|
|
+ data.map((item) => [item[keyName], item[valueName]])
|
|
|
+ );
|
|
|
+ };
|
|
|
+ // 查询条件列
|
|
|
+ const searchColumns = [
|
|
|
+ { key: "dealerName", title: "经销商名称", type: "Input" },
|
|
|
+ { key: "authorizedAreaName", title: "授权区域/医院", type: "Input" },
|
|
|
+ { key: "authorizedProductsName", title: "授权产品", type: "Input" },
|
|
|
+ // 单据状态0=自由态,1=审批中,2=已审核,3=已驳回
|
|
|
+ {
|
|
|
+ key: "status", title: "状态", type: "Select", options: [
|
|
|
+ { value: 0, label: '自由态' },
|
|
|
+ { value: 1, label: '审批中' },
|
|
|
+ { value: 2, label: '已审核' },
|
|
|
+ { value: 3, label: '已驳回' },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ { title: "授权时间", key: "time", type: "DateRange" },
|
|
|
+ ];
|
|
|
+
|
|
|
+ // 表列
|
|
|
+ const tableColumns = [
|
|
|
+ { key: "authorizedProductsCode", title: "授权产品 编码", show: true },
|
|
|
+ { key: "dealerName", title: "经销商名称", show: true },
|
|
|
+ { key: "authorizedAreaCode", title: "授权区域/医院 编码", show: false },
|
|
|
+ { key: "authorizedAreaName", title: "授权区域/医院 名称", show: true },
|
|
|
+ { key: "authorizedProductsName", title: "授权产品 名称", show: true },
|
|
|
+ { key: "status", title: "状态", show: true },
|
|
|
+ { key: "createPerson", title: "创建人", show: true },
|
|
|
+ { key: "createTime", title: "创建时间", show: true },
|
|
|
+ { key: "updatePerson", title: "最后修改人", show: true },
|
|
|
+ { key: "updateTime", title: "最后修改时间", show: true },
|
|
|
+ { key: "id", title: "主键id----该值不显示", show: false },
|
|
|
+ { key: "startTime", title: "开始时间", show: false },
|
|
|
+ { key: "endTime", title: "结束时间", show: false },
|
|
|
+ { key: "issueTime", title: "授权书开具时间", show: false },
|
|
|
+ ];
|
|
|
+
|
|
|
+ const initTableColumns = () => tableColumns;
|
|
|
+ const initSearchColumns = () => searchColumns;
|
|
|
+ const initSearchParams = () => arr2Obj(initSearchColumns(), "key", "value");
|
|
|
+ return {
|
|
|
+ loading: false,
|
|
|
+ searchColumns: initSearchColumns(),
|
|
|
+ searchParams: {
|
|
|
+ // isAsc: "desc",
|
|
|
+ // reasonable: "",
|
|
|
+ // orderByColumn: "",
|
|
|
+ ...initSearchParams(),
|
|
|
+ },
|
|
|
+ tableColumns: initTableColumns(),
|
|
|
+ tableData: [
|
|
|
+ {
|
|
|
+ authorizedProductsCode: "授权产品 编码",
|
|
|
+ dealerName: "经销商名称",
|
|
|
+ authorizedAreaCode: "授权区域/医院 编码",
|
|
|
+ authorizedAreaName: "授权区域/医院 名称",
|
|
|
+ authorizedProductsName: "授权产品 名称",
|
|
|
+ status: "状态",
|
|
|
+ createPerson: "创建人",
|
|
|
+ createTime: "创建时间",
|
|
|
+ updatePerson: "最后修改人",
|
|
|
+ updateTime: "最后修改时间",
|
|
|
+ id: "主键id----该值不显示",
|
|
|
+ startTime: "开始时间",
|
|
|
+ endTime: "结束时间",
|
|
|
+ issueTime: "授权书开具时间",
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ checkedList: [],
|
|
|
+ page: { pageNum: 1, pageSize: 25 },
|
|
|
+ total: 0,
|
|
|
+ pageSizes: [10, 20, 50, 100],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 查询
|
|
|
+ handelSearch() {
|
|
|
+ console.log(this.searchParams, '查询');
|
|
|
+ let isTime = this.searchParams.time && this.searchParams.time != '' && this.searchParams.time.length;
|
|
|
+ let params = {
|
|
|
+ ...this.searchParams,
|
|
|
+ startTime: isTime ? this.searchParams.time[0] : '',
|
|
|
+ endTime: isTime ? this.searchParams.time[1] : '',
|
|
|
+ }
|
|
|
+ delete params['time']
|
|
|
+ console.log(params, 'params--------');
|
|
|
+
|
|
|
+ },
|
|
|
+ // 重置
|
|
|
+ handelResetSearch() {
|
|
|
+ console.log('重置');
|
|
|
+
|
|
|
+ for (const key in this.searchParams) {
|
|
|
+
|
|
|
+ this.searchParams[key] = '';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 刷新
|
|
|
+ handleRefresh() {
|
|
|
+
|
|
|
+ },
|
|
|
+ handleSizeChange() { },
|
|
|
+ handleCurrentChange() { },
|
|
|
+
|
|
|
+ // 选择列表
|
|
|
+ handleSelect(selection, row) {
|
|
|
+ console.log('selection/////////', selection, 'row/////////', row);
|
|
|
+ this.checkedList = [...selection];
|
|
|
+ },
|
|
|
+ // 新增授权信息
|
|
|
+ handleOpenAddDialog(rows) {
|
|
|
+ console.log(rows, '授权信息');
|
|
|
+
|
|
|
+ const { setVisible } = this.$refs.addDialogRef;
|
|
|
+
|
|
|
+ setVisible(true);
|
|
|
+
|
|
|
+ },
|
|
|
+ // 编辑、查看
|
|
|
+ handleOpenSeeDialog(rows) {
|
|
|
+ console.log(rows, '编辑、查看');
|
|
|
+ const { setVisible } = this.$refs.seeDialogRef;
|
|
|
+
|
|
|
+ setVisible(true);
|
|
|
+ },
|
|
|
+ // 删除
|
|
|
+ handleDelDialog(rows) {
|
|
|
+ console.log(rows, '删除');
|
|
|
+ },
|
|
|
+ // 提交
|
|
|
+ handleSubmit() {
|
|
|
+ console.log('提交');
|
|
|
+ },
|
|
|
+ // 下载
|
|
|
+ handleDownload() {
|
|
|
+ console.log('下载');
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.dealerAuthorization {
|
|
|
+ width: calc(100% - 24px);
|
|
|
+ height: 100%;
|
|
|
+ margin: 10px;
|
|
|
+ padding: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ .da-table {
|
|
|
+ width: 100%;
|
|
|
+ margin: 20px 0 0 0;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|