|
|
@@ -1,28 +1,6 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
|
|
|
- <el-form-item label="所属部门" prop="deptId">
|
|
|
- <treeselect style="width:220px" v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择所属部门" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="店铺" prop="storeId">
|
|
|
- <el-select v-model="queryParams.storeId" placeholder="店铺" clearable size="small" filterable>
|
|
|
- <el-option
|
|
|
- v-for="dict in storeOPtions"
|
|
|
- :key="dict.dictValue"
|
|
|
- :label="dict.dictLabel"
|
|
|
- :value="dict.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="会员ID" prop="userId">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.userId"
|
|
|
- placeholder="请输入会员ID"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
<el-form-item label="订单号" prop="orderCode">
|
|
|
<el-input
|
|
|
v-model="queryParams.orderCode"
|
|
|
@@ -32,191 +10,28 @@
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="员工姓名" prop="companyUserNickName">
|
|
|
- <el-input
|
|
|
- style="width:220px"
|
|
|
- v-model="queryParams.companyUserNickName"
|
|
|
- placeholder="请输入员工姓名"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="物流状态" prop="deliveryStatus">
|
|
|
- <el-select style="width:220px" v-model="queryParams.deliveryStatus" placeholder="请选择物流状态" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="item in deliveryStatusOptions"
|
|
|
- :key="item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="结算状态" prop="deliveryPayStatus">
|
|
|
- <el-select style="width:220px" v-model="queryParams.deliveryPayStatus" placeholder="请选择物流结算状态" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="item in deliveryPayStatusOptions"
|
|
|
- :key="item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="收货人" prop="userName">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.userName"
|
|
|
- placeholder="请输入收货人"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="套餐名称" prop="packageSecondName">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.packageSecondName"
|
|
|
- placeholder="请输入套餐别名"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="是否首次进线" prop="isFirst">
|
|
|
- <el-select filterable v-model="queryParams.isFirst" placeholder="状态" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="dict in orOptions"
|
|
|
- :key="dict.dictValue"
|
|
|
- :label="dict.dictLabel"
|
|
|
- :value="dict.dictValue"
|
|
|
- />
|
|
|
+ <el-form-item label="审核类型" prop="auditType">
|
|
|
+ <el-select v-model="queryParams.auditType" placeholder="请选择审核类型" clearable size="small">
|
|
|
+ <el-option label="价格变更审核" :value="1" />
|
|
|
+ <el-option label="订单完成审核" :value="2" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="档期归属" prop="scheduleId">
|
|
|
- <el-select multiple filterable style="width: 200px" v-model="scheduleIdArr" placeholder="请选择档期" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="item in scheduleOptions"
|
|
|
- :key="'scheduleId'+item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="订单购买类型" prop="orderBuyType">
|
|
|
- <el-select multiple filterable style="width: 200px" v-model="buyTypeArr" placeholder="请选择购买类型" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="item in orderBuyTypeOptions"
|
|
|
- :key="'bugType'+item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
+ <el-form-item label="审核状态" prop="auditStatus">
|
|
|
+ <el-select v-model="queryParams.auditStatus" placeholder="请选择审核状态" clearable size="small">
|
|
|
+ <el-option label="待审核" :value="0" />
|
|
|
+ <el-option label="审核通过" :value="1" />
|
|
|
+ <el-option label="审核拒绝" :value="2" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="渠道" prop="channel">
|
|
|
- <el-select multiple filterable style="width: 200px" v-model="channelArr" placeholder="请选择渠道" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="item in channelOptions"
|
|
|
- :key="'channel'+item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="企微主体" prop="qwSubject">
|
|
|
- <el-select multiple filterable style="width: 200px" v-model="qwSubjectArr" placeholder="请选择企微主体" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="item in qwSubjectOptions"
|
|
|
- :key="'qwSubject'+item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="电话" prop="userPhone">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.userPhone"
|
|
|
- placeholder="请输入收货人电话"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="加密电话" prop="userPhoneMk">
|
|
|
+ <el-form-item label="申请人" prop="applyUserName">
|
|
|
<el-input
|
|
|
- v-model="queryParams.userPhoneMk"
|
|
|
- placeholder="请输入收货人电话"
|
|
|
+ v-model="queryParams.applyUserName"
|
|
|
+ placeholder="请输入申请人姓名"
|
|
|
clearable
|
|
|
size="small"
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="医生姓名" prop="doctorName">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.doctorName"
|
|
|
- placeholder="请输入医生姓名"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="患者姓名" prop="patientName">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.patientName"
|
|
|
- placeholder="请输入患者姓名"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="订单来源" prop="source">
|
|
|
- <el-select v-model="queryParams.source" placeholder="请选择是否支付" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="dict in sourceOptions"
|
|
|
- :key="dict.dictValue"
|
|
|
- :label="dict.dictLabel"
|
|
|
- :value="dict.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="订单类型" prop="orderType">
|
|
|
- <el-select v-model="queryParams.orderType" placeholder="状态" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="dict in orderTypeOptions"
|
|
|
- :key="dict.dictValue"
|
|
|
- :label="dict.dictLabel"
|
|
|
- :value="dict.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="支付方式" prop="payType">
|
|
|
- <el-select multiple v-model="payTypeArr" placeholder="请选择支付方式" clearable size="small">
|
|
|
- <el-option
|
|
|
- v-for="item in PayOptions"
|
|
|
- :key="'type'+item.dictValue"
|
|
|
- :label="item.dictLabel"
|
|
|
- :value="item.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="快递单号" prop="deliverySn">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.deliverySn"
|
|
|
- placeholder="请输入快递单号"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <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="changeTime"></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="支付时间" prop="payTime">
|
|
|
- <el-date-picker v-model="payTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="changePayTime"></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发货时间" prop="deliverySendTime">
|
|
|
- <el-date-picker v-model="deliverySendTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="changeTime"></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="入账时间" prop="tuiMoneyTime">
|
|
|
- <el-date-picker v-model="tuiMoneyTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="changeTime"></el-date-picker>
|
|
|
- </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>
|
|
|
@@ -224,64 +39,40 @@
|
|
|
</el-form>
|
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- icon="el-icon-check"
|
|
|
- size="mini"
|
|
|
- :disabled="multiple"
|
|
|
- v-hasPermi="['his:storeOrder:approveOrder']"
|
|
|
- @click="handleBatchAudit"
|
|
|
- >批量审核</el-button>
|
|
|
- </el-col>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-table height="450" v-loading="loading" border :data="orderList" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column label="药品订单号" align="center" prop="orderCode" width="180px"/>
|
|
|
- <el-table-column label="所属公司" align="center" prop="companyName" />
|
|
|
- <el-table-column label="员工" align="center" prop="companyUserName" />
|
|
|
- <el-table-column label="就诊人" align="center" prop="patientName" />
|
|
|
- <el-table-column label="收货人" align="center" prop="userName" />
|
|
|
- <el-table-column label="套餐名称" align="center" prop="packageName" />
|
|
|
- <el-table-column label="套餐别名" align="center" prop="packageSecondName" />
|
|
|
- <el-table-column label="应收金额" align="center" prop="payPrice" />
|
|
|
- <el-table-column label="实收金额" align="center" prop="payMoney" />
|
|
|
- <el-table-column label="支付方式" align="center" prop="payType">
|
|
|
- <template slot-scope="scope">
|
|
|
- <dict-tag :options="PayOptions" :value="scope.row.payType"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="订单来源" align="center" prop="source">
|
|
|
+ <el-table height="450" v-loading="loading" border :data="orderList">
|
|
|
+ <el-table-column label="订单编号" align="center" prop="orderCode" width="180px"/>
|
|
|
+ <el-table-column label="审核类型" align="center" prop="auditType">
|
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag :options="sourceOptions" :value="scope.row.source"/>
|
|
|
+ <span v-if="scope.row.auditType === 1">价格变更审核</span>
|
|
|
+ <span v-else-if="scope.row.auditType === 2">订单完成审核</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="下单时间" align="center" prop="createTime" width="180" />
|
|
|
- <el-table-column label="支付时间" align="center" prop="payTime" width="180" />
|
|
|
- <el-table-column label="订单状态" align="center" prop="status">
|
|
|
+ <el-table-column label="原订单总价" align="center" prop="originalTotalPrice" />
|
|
|
+ <el-table-column label="原实付金额" align="center" prop="originalPayPrice" />
|
|
|
+ <el-table-column label="变更后总价" align="center" prop="newTotalPrice" />
|
|
|
+ <el-table-column label="变更后实付金额" align="center" prop="newPayPrice" />
|
|
|
+ <el-table-column label="价格变更原因" align="center" prop="priceChangeReason" show-overflow-tooltip />
|
|
|
+ <el-table-column label="审核状态" align="center" prop="auditStatus">
|
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag :options="orderOptions" :value="scope.row.status"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="物流状态" align="center" prop="deliveryStatus">
|
|
|
- <template slot-scope="scope">
|
|
|
- <dict-tag :options="deliveryStatusOptions" :value="scope.row.deliveryStatus"/>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="结算状态" align="center" prop="deliveryPayStatus">
|
|
|
- <template slot-scope="scope">
|
|
|
- <dict-tag :options="deliveryPayStatusOptions" :value="scope.row.deliveryPayStatus"/>
|
|
|
+ <el-tag v-if="scope.row.auditStatus === 0" type="warning">待审核</el-tag>
|
|
|
+ <el-tag v-else-if="scope.row.auditStatus === 1" type="success">审核通过</el-tag>
|
|
|
+ <el-tag v-else-if="scope.row.auditStatus === 2" type="danger">审核拒绝</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="申请人" align="center" prop="applyUserName" />
|
|
|
+ <el-table-column label="申请时间" align="center" prop="applyTime" width="160" />
|
|
|
+ <el-table-column label="审核人" align="center" prop="auditUserName" />
|
|
|
+ <el-table-column label="审核时间" align="center" prop="auditTime" width="160" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="100px">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
v-hasPermi="['his:storeOrder:approveOrder']"
|
|
|
+ v-if="scope.row.auditStatus === 0"
|
|
|
@click="handleAudit(scope.row)"
|
|
|
>审核</el-button>
|
|
|
</template>
|
|
|
@@ -295,327 +86,201 @@
|
|
|
:limit.sync="queryParams.pageSize"
|
|
|
@pagination="getList"
|
|
|
/>
|
|
|
+
|
|
|
+ <el-dialog title="审核" :visible.sync="auditOpen" width="700px" append-to-body :close-on-click-modal="false">
|
|
|
+ <el-form ref="auditForm" :model="auditForm" :rules="auditRules" label-width="120px">
|
|
|
+ <el-divider content-position="left">申请信息</el-divider>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="审核类型">
|
|
|
+ <el-tag v-if="auditForm.auditType === 1" type="warning">价格变更审核</el-tag>
|
|
|
+ <el-tag v-else-if="auditForm.auditType === 2" type="success">订单完成审核</el-tag>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <template v-if="auditForm.auditType === 1">
|
|
|
+ <el-divider content-position="left">价格信息</el-divider>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="原订单总价">
|
|
|
+ <span class="price-info">{{ auditForm.originalTotalPrice }} 元</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="原实付金额">
|
|
|
+ <span class="price-info">{{ auditForm.originalPayPrice }} 元</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="变更后总价">
|
|
|
+ <span class="price-info highlight">{{ auditForm.newTotalPrice }} 元</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="变更后实付">
|
|
|
+ <span class="price-info highlight">{{ auditForm.newPayPrice }} 元</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </template>
|
|
|
+ <el-divider content-position="left">凭证信息</el-divider>
|
|
|
+ <el-form-item label="申请原因">
|
|
|
+ <div class="info-box">{{ auditForm.priceChangeReason || '无' }}</div>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="凭证图片" v-if="auditForm.voucherImages">
|
|
|
+ <el-image
|
|
|
+ style="width: 120px; height: 120px; border-radius: 4px;"
|
|
|
+ :src="auditForm.voucherImages"
|
|
|
+ :preview-src-list="[auditForm.voucherImages]"
|
|
|
+ fit="cover"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="凭证说明">
|
|
|
+ <div class="info-box">{{ auditForm.voucherRemark || '无' }}</div>
|
|
|
+ </el-form-item>
|
|
|
+ <el-divider content-position="left">审核操作</el-divider>
|
|
|
+ <el-form-item label="审核结果" prop="auditStatus">
|
|
|
+ <el-radio-group v-model="auditForm.auditStatus">
|
|
|
+ <el-radio :label="1">
|
|
|
+ <el-tag type="success" size="small">通过</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ <el-radio :label="2">
|
|
|
+ <el-tag type="danger" size="small">拒绝</el-tag>
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="审核备注" prop="auditRemark">
|
|
|
+ <el-input v-model="auditForm.auditRemark" type="textarea" :rows="3" placeholder="请输入审核备注" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="auditOpen = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submitAudit">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {listOrder, approveOrder, approveOrderList} from "@/api/store/storeOrder";
|
|
|
-import { getTcmScheduleList } from "@/api/company/tcmScheduleReport";
|
|
|
-import { treeselect } from "@/api/company/companyDept";
|
|
|
-import Treeselect from "@riophae/vue-treeselect";
|
|
|
-import { listStore } from "@/api/store/storeProduct";
|
|
|
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
+import {financeAuditList, financeAudit} from "@/api/store/storeOrder";
|
|
|
|
|
|
export default {
|
|
|
name: "Order",
|
|
|
- components: { Treeselect },
|
|
|
data() {
|
|
|
return {
|
|
|
- payTypeArr: [],
|
|
|
- scheduleIdArr: [],
|
|
|
- buyTypeArr: [],
|
|
|
- channelArr: [],
|
|
|
- qwSubjectArr: [],
|
|
|
- // 部门树选项
|
|
|
- deptOptions: [],
|
|
|
- deptName: undefined,
|
|
|
- // 遮罩层
|
|
|
loading: true,
|
|
|
- sourceOptions: [],
|
|
|
- // 选中数组
|
|
|
- ids: [],
|
|
|
- // 非单个禁用
|
|
|
- single: true,
|
|
|
- // 非多个禁用
|
|
|
- multiple: true,
|
|
|
- // 显示搜索条件
|
|
|
showSearch: true,
|
|
|
- // 总条数
|
|
|
total: 0,
|
|
|
- // 订单表格数据
|
|
|
orderList: [],
|
|
|
- createTime: null,
|
|
|
- payTime: null,
|
|
|
- deliverySendTime: null,
|
|
|
- tuiMoneyTime: null,
|
|
|
- // 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
- storeId: null,
|
|
|
orderCode: null,
|
|
|
- userId: null,
|
|
|
- userName: null,
|
|
|
- userPhone: null,
|
|
|
- userPhoneMk: null,
|
|
|
- deliverySn: null,
|
|
|
- deliveryStatus: null,
|
|
|
- deliveryPayStatus: null,
|
|
|
- companyUserNickName: null,
|
|
|
- packageSecondName: null,
|
|
|
- isFirst: null,
|
|
|
- source: null,
|
|
|
- orderType: null,
|
|
|
- doctorName: null,
|
|
|
- patientName: null,
|
|
|
- deptId: null,
|
|
|
- scheduleId: null,
|
|
|
- orderBuyType: null,
|
|
|
- orderChannel: null,
|
|
|
- qwSubject: null,
|
|
|
- payType: null,
|
|
|
- status: null,
|
|
|
- sTime: null,
|
|
|
- eTime: null,
|
|
|
- paysTime: null,
|
|
|
- payeTime: null,
|
|
|
- deliverySendsTime: null,
|
|
|
- deliverySendeTime: null,
|
|
|
- tuisTime: null,
|
|
|
- tuieTime: null,
|
|
|
- isPay: 1
|
|
|
+ auditType: null,
|
|
|
+ auditStatus: null,
|
|
|
+ applyUserName: null
|
|
|
},
|
|
|
- PayOptions: [],
|
|
|
- orderOptions: [],
|
|
|
- channelOptions: [],
|
|
|
- qwSubjectOptions: [],
|
|
|
- orderTypeOptions: [],
|
|
|
- orOptions: [],
|
|
|
- storeOPtions: [],
|
|
|
- deliveryPayStatusOptions: [],
|
|
|
- deliveryStatusOptions: [],
|
|
|
- orderBuyTypeOptions: [],
|
|
|
- scheduleOptions: []
|
|
|
+ auditOpen: false,
|
|
|
+ auditForm: {
|
|
|
+ id: null,
|
|
|
+ auditType: null,
|
|
|
+ originalTotalPrice: null,
|
|
|
+ originalPayPrice: null,
|
|
|
+ newTotalPrice: null,
|
|
|
+ newPayPrice: null,
|
|
|
+ priceChangeReason: null,
|
|
|
+ voucherImages: null,
|
|
|
+ voucherRemark: null,
|
|
|
+ auditStatus: null,
|
|
|
+ auditRemark: null
|
|
|
+ },
|
|
|
+ auditRules: {
|
|
|
+ auditStatus: [
|
|
|
+ { required: true, message: "请选择审核结果", trigger: "change" }
|
|
|
+ ]
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
- watch: {
|
|
|
- deptName(val) {
|
|
|
- this.$refs.tree.filter(val);
|
|
|
- }
|
|
|
- },
|
|
|
created() {
|
|
|
- this.getTreeselect();
|
|
|
- this.getstoreList();
|
|
|
this.getList();
|
|
|
- this.getTcmScheduleList();
|
|
|
- this.getDicts("sys_store_order_buy_type").then(response => {
|
|
|
- this.orderBuyTypeOptions = response.data;
|
|
|
- this.orderBuyTypeOptions.push({ dictLabel: "无", dictValue: "-1" });
|
|
|
- });
|
|
|
- this.getDicts("sys_order_source").then(response => {
|
|
|
- this.sourceOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("sys_store_pay_type").then(response => {
|
|
|
- this.PayOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("sys_store_order_type").then(response => {
|
|
|
- this.orderTypeOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("sys_order_status").then(response => {
|
|
|
- this.orderOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("sys_store_channel").then(response => {
|
|
|
- this.channelOptions = response.data;
|
|
|
- this.channelOptions.push({ dictLabel: "无", dictValue: "-1" });
|
|
|
- });
|
|
|
- this.getDicts("sys_store_qw_subject").then(response => {
|
|
|
- this.qwSubjectOptions = response.data;
|
|
|
- this.qwSubjectOptions.push({ dictLabel: "无", dictValue: "-1" });
|
|
|
- });
|
|
|
- this.getDicts("sys_company_or").then(response => {
|
|
|
- this.orOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("sys_store_delivery_pay_status").then(response => {
|
|
|
- this.deliveryPayStatusOptions = response.data;
|
|
|
- });
|
|
|
- this.getDicts("sys_store_order_delivery_status").then(response => {
|
|
|
- this.deliveryStatusOptions = response.data;
|
|
|
- });
|
|
|
},
|
|
|
methods: {
|
|
|
- /** 查询部门下拉树结构 */
|
|
|
- getTreeselect() {
|
|
|
- treeselect().then((response) => {
|
|
|
- this.deptOptions = response.data;
|
|
|
- });
|
|
|
- },
|
|
|
- /** 查询档期列表 */
|
|
|
- getTcmScheduleList() {
|
|
|
- getTcmScheduleList().then(response => {
|
|
|
- this.scheduleOptions = response.data;
|
|
|
- this.scheduleOptions.push({ id: "-1", name: "无" });
|
|
|
- });
|
|
|
- },
|
|
|
- getstoreList() {
|
|
|
- listStore().then(response => {
|
|
|
- this.storeOPtions = response.rows;
|
|
|
- });
|
|
|
- },
|
|
|
- /** 查询订单列表 */
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
|
- this.queryParams.isPay = 1;
|
|
|
- // 处理多选参数
|
|
|
- if (this.payTypeArr.length > 0) {
|
|
|
- this.queryParams.payType = this.payTypeArr.toString();
|
|
|
- } else {
|
|
|
- this.queryParams.payType = null;
|
|
|
- }
|
|
|
-
|
|
|
- if (this.scheduleIdArr.length > 0) {
|
|
|
- this.queryParams.scheduleId = this.scheduleIdArr.toString();
|
|
|
- } else {
|
|
|
- this.queryParams.scheduleId = null;
|
|
|
- }
|
|
|
-
|
|
|
- if (this.buyTypeArr.length > 0) {
|
|
|
- this.queryParams.orderBuyType = this.buyTypeArr.toString();
|
|
|
- } else {
|
|
|
- this.queryParams.orderBuyType = null;
|
|
|
- }
|
|
|
-
|
|
|
- if (this.channelArr.length > 0) {
|
|
|
- this.queryParams.orderChannel = this.channelArr.toString();
|
|
|
- } else {
|
|
|
- this.queryParams.orderChannel = null;
|
|
|
- }
|
|
|
-
|
|
|
- if (this.qwSubjectArr.length > 0) {
|
|
|
- this.queryParams.qwSubject = this.qwSubjectArr.toString();
|
|
|
- } else {
|
|
|
- this.queryParams.qwSubject = null;
|
|
|
- }
|
|
|
-
|
|
|
- approveOrderList(this.queryParams).then(response => {
|
|
|
+ financeAuditList(this.queryParams).then(response => {
|
|
|
this.orderList = response.rows;
|
|
|
this.total = response.total;
|
|
|
this.loading = false;
|
|
|
});
|
|
|
},
|
|
|
|
|
|
- /** 审核按钮操作 */
|
|
|
handleAudit(row) {
|
|
|
- this.$confirm('确定要审核该订单吗?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- // 将当前行的orderId放入数组中传递给后端
|
|
|
- const orderIds = [row.orderId];
|
|
|
- approveOrder(orderIds).then(response => {
|
|
|
- this.msgSuccess('审核成功');
|
|
|
- this.getList(); // 审核成功后刷新列表
|
|
|
- }).catch(error => {
|
|
|
- console.error('审核失败:', error);
|
|
|
- });
|
|
|
- }).catch(() => {
|
|
|
- this.$message.info('已取消审核');
|
|
|
+ this.auditForm = {
|
|
|
+ id: row.id,
|
|
|
+ auditType: row.auditType,
|
|
|
+ originalTotalPrice: row.originalTotalPrice,
|
|
|
+ originalPayPrice: row.originalPayPrice,
|
|
|
+ newTotalPrice: row.newTotalPrice,
|
|
|
+ newPayPrice: row.newPayPrice,
|
|
|
+ priceChangeReason: row.priceChangeReason,
|
|
|
+ voucherImages: row.voucherImages,
|
|
|
+ voucherRemark: row.voucherRemark,
|
|
|
+ auditStatus: null,
|
|
|
+ auditRemark: null
|
|
|
+ };
|
|
|
+ this.auditOpen = true;
|
|
|
+ },
|
|
|
+
|
|
|
+ submitAudit() {
|
|
|
+ this.$refs["auditForm"].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ const data = {
|
|
|
+ id: this.auditForm.id,
|
|
|
+ auditStatus: this.auditForm.auditStatus,
|
|
|
+ auditRemark: this.auditForm.auditRemark
|
|
|
+ };
|
|
|
+ financeAudit(data).then(response => {
|
|
|
+ this.msgSuccess("审核成功");
|
|
|
+ this.auditOpen = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
},
|
|
|
|
|
|
- /** 搜索按钮操作 */
|
|
|
handleQuery() {
|
|
|
- this.queryParams.isPay = 1;
|
|
|
this.queryParams.pageNum = 1;
|
|
|
this.getList();
|
|
|
},
|
|
|
|
|
|
- changeTime() {
|
|
|
- if (this.createTime != null) {
|
|
|
- this.queryParams.sTime = this.createTime[0];
|
|
|
- this.queryParams.eTime = this.createTime[1];
|
|
|
- } else {
|
|
|
- this.queryParams.sTime = null;
|
|
|
- this.queryParams.eTime = null;
|
|
|
- }
|
|
|
-
|
|
|
- if (this.deliverySendTime != null) {
|
|
|
- this.queryParams.deliverySendsTime = this.deliverySendTime[0];
|
|
|
- this.queryParams.deliverySendeTime = this.deliverySendTime[1];
|
|
|
- } else {
|
|
|
- this.queryParams.deliverySendsTime = null;
|
|
|
- this.queryParams.deliverySendeTime = null;
|
|
|
- }
|
|
|
-
|
|
|
- if (this.tuiMoneyTime != null) {
|
|
|
- this.queryParams.tuisTime = this.tuiMoneyTime[0];
|
|
|
- this.queryParams.tuieTime = this.tuiMoneyTime[1];
|
|
|
- } else {
|
|
|
- this.queryParams.tuisTime = null;
|
|
|
- this.queryParams.tuieTime = null;
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- changePayTime() {
|
|
|
- if (this.payTime != null) {
|
|
|
- this.queryParams.paysTime = this.payTime[0];
|
|
|
- this.queryParams.payeTime = this.payTime[1];
|
|
|
- } else {
|
|
|
- this.queryParams.paysTime = null;
|
|
|
- this.queryParams.payeTime = null;
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- /** 重置按钮操作 */
|
|
|
resetQuery() {
|
|
|
this.resetForm("queryForm");
|
|
|
- this.createTime = null;
|
|
|
- this.payTime = null;
|
|
|
- this.deliverySendTime = null;
|
|
|
- this.tuiMoneyTime = null;
|
|
|
- this.payTypeArr = [];
|
|
|
- this.scheduleIdArr = [];
|
|
|
- this.buyTypeArr = [];
|
|
|
- this.channelArr = [];
|
|
|
- this.qwSubjectArr = [];
|
|
|
- this.queryParams.isPay = 1;
|
|
|
-
|
|
|
- this.queryParams.sTime = null;
|
|
|
- this.queryParams.eTime = null;
|
|
|
- this.queryParams.paysTime = null;
|
|
|
- this.queryParams.payeTime = null;
|
|
|
- this.queryParams.deliverySendsTime = null;
|
|
|
- this.queryParams.deliverySendeTime = null;
|
|
|
- this.queryParams.tuisTime = null;
|
|
|
- this.queryParams.tuieTime = null;
|
|
|
- this.queryParams.payType = null;
|
|
|
- this.queryParams.scheduleId = null;
|
|
|
- this.queryParams.orderBuyType = null;
|
|
|
- this.queryParams.orderChannel = null;
|
|
|
- this.queryParams.qwSubject = null;
|
|
|
-
|
|
|
this.handleQuery();
|
|
|
- },
|
|
|
-
|
|
|
- // 多选框选中数据
|
|
|
- handleSelectionChange(selection) {
|
|
|
- this.ids = selection.map(item => item.orderId);
|
|
|
- this.single = selection.length !== 1;
|
|
|
- this.multiple = !selection.length;
|
|
|
- },
|
|
|
- /** 批量审核按钮操作 */
|
|
|
- handleBatchAudit() {
|
|
|
- if (this.ids.length === 0) {
|
|
|
- this.$message.warning('请先选择要审核的订单');
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- this.$confirm(`确定要审核选中的${this.ids.length}条订单吗?`, '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- // 直接传递选中的ids数组给后端
|
|
|
- approveOrder(this.ids).then(response => {
|
|
|
- this.msgSuccess('批量审核成功');
|
|
|
- this.getList(); // 审核成功后刷新列表
|
|
|
- }).catch(error => {
|
|
|
- console.error('批量审核失败:', error);
|
|
|
- });
|
|
|
- }).catch(() => {
|
|
|
- this.$message.info('已取消审核');
|
|
|
- });
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+.el-divider {
|
|
|
+ margin: 15px 0;
|
|
|
+}
|
|
|
+.price-info {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #606266;
|
|
|
+}
|
|
|
+.price-info.highlight {
|
|
|
+ color: #E6A23C;
|
|
|
+ font-weight: 600;
|
|
|
+}
|
|
|
+.info-box {
|
|
|
+ padding: 10px 15px;
|
|
|
+ background-color: #f5f7fa;
|
|
|
+ border-radius: 4px;
|
|
|
+ color: #606266;
|
|
|
+ line-height: 1.6;
|
|
|
+}
|
|
|
+</style>
|