|
@@ -4,31 +4,52 @@
|
|
:disabledBtn="disabledBtn"
|
|
:disabledBtn="disabledBtn"
|
|
width="900px"
|
|
width="900px"
|
|
:isShow.sync="isShow"
|
|
:isShow.sync="isShow"
|
|
- title="'学员审核"
|
|
|
|
|
|
+ title="学员审核"
|
|
@close="close"
|
|
@close="close"
|
|
- @submit="submitForm"
|
|
|
|
|
|
+ :confirmStatus="false"
|
|
>
|
|
>
|
|
<p style="margin-top: 0">
|
|
<p style="margin-top: 0">
|
|
- 申请时间:{{ $methodsTools.onlyForma(form.applyTime) }}
|
|
|
|
|
|
+ <strong style="color: #000">申请时间:</strong
|
|
|
|
+ >{{ $methodsTools.onlyForma(form.buyTime) }}
|
|
</p>
|
|
</p>
|
|
<p>
|
|
<p>
|
|
- <span class="color_1890ff">{{ form.applyName }}</span>
|
|
|
|
|
|
+ <span class="color_1890ff">{{ form.tenantName }}</span>
|
|
<span>,发起学员修改申请</span>
|
|
<span>,发起学员修改申请</span>
|
|
</p>
|
|
</p>
|
|
<div class="bgc_pink">
|
|
<div class="bgc_pink">
|
|
<p>
|
|
<p>
|
|
- <strong>订单号:</strong><span>123456124356124356142365</span>
|
|
|
|
- <el-button type="text" style="margin-left: 10px">订单详情</el-button>
|
|
|
|
|
|
+ <strong>订单号:</strong><span>{{ form.orderSn }}</span>
|
|
|
|
+ <el-button
|
|
|
|
+ type="text"
|
|
|
|
+ style="margin-left: 10px"
|
|
|
|
+ @click="openOrderDetail"
|
|
|
|
+ >订单详情</el-button
|
|
|
|
+ >
|
|
</p>
|
|
</p>
|
|
|
|
+ <!-- :span-method="objectSpanMethod" 表格合并代码👇 -->
|
|
<el-table
|
|
<el-table
|
|
- size="small"
|
|
|
|
- :span-method="objectSpanMethod"
|
|
|
|
|
|
+ ref="tableList"
|
|
|
|
+ row-key="orderGoodsId"
|
|
|
|
+ size="small"
|
|
border
|
|
border
|
|
:data="tableData"
|
|
:data="tableData"
|
|
stripe
|
|
stripe
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
height="340"
|
|
height="340"
|
|
|
|
+ v-loading="loading"
|
|
|
|
+ @select-all="selectAll"
|
|
|
|
+ @select="select"
|
|
>
|
|
>
|
|
|
|
+ <el-table-column
|
|
|
|
+ reserve-selection
|
|
|
|
+ align="center"
|
|
|
|
+ type="selection"
|
|
|
|
+ width="55"
|
|
|
|
+ header-align="center"
|
|
|
|
+ fixed="left"
|
|
|
|
+ :selectable="selectableFunc"
|
|
|
|
+ >
|
|
|
|
+ </el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
align="center"
|
|
align="center"
|
|
type="index"
|
|
type="index"
|
|
@@ -43,7 +64,21 @@
|
|
:label="item.label"
|
|
:label="item.label"
|
|
:width="item.width"
|
|
:width="item.width"
|
|
>
|
|
>
|
|
- <template slot-scope="scope">{{ scope.row[item.prop] }}</template>
|
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <template v-if="item.scope === 'isOptions'">
|
|
|
|
+ <template v-for="(i, k) in item.options">
|
|
|
|
+ <span v-if="scope.row[item.prop] == i.value">{{
|
|
|
|
+ i.label
|
|
|
|
+ }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </template>
|
|
|
|
+ <div v-else :style="item.style">
|
|
|
|
+ <span v-if="item.ch && scope.row[item.prop]">{{
|
|
|
|
+ item.ch
|
|
|
|
+ }}</span>
|
|
|
|
+ {{ scope.row[item.prop] }}
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
<pagination
|
|
<pagination
|
|
@@ -53,43 +88,28 @@
|
|
@search="search"
|
|
@search="search"
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
- <el-form
|
|
|
|
- :model="formData"
|
|
|
|
- :rules="rules"
|
|
|
|
- ref="formData"
|
|
|
|
- label-width="100px"
|
|
|
|
- >
|
|
|
|
- <el-form-item prop="checkResult" label="审核结果:">
|
|
|
|
- <el-radio-group v-model="formData.checkResult">
|
|
|
|
- <el-radio label="1">同意</el-radio>
|
|
|
|
- <el-radio label="-1">拒绝</el-radio>
|
|
|
|
- </el-radio-group>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item prop="checkReason" label="审核意见:">
|
|
|
|
- <el-input
|
|
|
|
- type="textarea"
|
|
|
|
- placeholder="请输入审核意见"
|
|
|
|
- v-model="formData.checkReason"
|
|
|
|
- ></el-input> </el-form-item
|
|
|
|
- ></el-form>
|
|
|
|
- <template slot="slotBtn">
|
|
|
|
- <el-button @click="auditProgress = true">审核进度</el-button>
|
|
|
|
|
|
+ <template slot="slotBtnRight">
|
|
|
|
+ <el-button @click="auditFail">审核不通过</el-button>
|
|
|
|
+ <el-button type="primary" @click="submitForm">审核通过</el-button>
|
|
</template>
|
|
</template>
|
|
- <audit-progress
|
|
|
|
- :auditProgress.sync="auditProgress"
|
|
|
|
- :checkLogVos="form.checkLogVos"
|
|
|
|
- ></audit-progress>
|
|
|
|
</BaseDialog>
|
|
</BaseDialog>
|
|
|
|
+
|
|
|
|
+ <dislogOrderDetails
|
|
|
|
+ :dialogVisible.sync="orderDialogVisible"
|
|
|
|
+ :orderSn="orderSn"
|
|
|
|
+ :ShowStatus="1"
|
|
|
|
+ @search="search"
|
|
|
|
+ ></dislogOrderDetails>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import dislogOrderDetails from "../dislogOrderDetails.vue";
|
|
import pagination from "@/components/pagination";
|
|
import pagination from "@/components/pagination";
|
|
-import auditProgress from "./auditProgress.vue";
|
|
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
- auditProgress,
|
|
|
|
pagination,
|
|
pagination,
|
|
|
|
+ dislogOrderDetails,
|
|
},
|
|
},
|
|
props: {
|
|
props: {
|
|
dialogVisible: {
|
|
dialogVisible: {
|
|
@@ -103,71 +123,92 @@ export default {
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ loading: false,
|
|
form: {},
|
|
form: {},
|
|
disabledBtn: false,
|
|
disabledBtn: false,
|
|
- auditProgress: false,
|
|
|
|
- formData: {
|
|
|
|
- checkResult: "",
|
|
|
|
- checkReason: "",
|
|
|
|
- },
|
|
|
|
- rules: {
|
|
|
|
- checkResult: [
|
|
|
|
- { required: true, message: "请选择审核结果", trigger: "change" },
|
|
|
|
- ],
|
|
|
|
- checkReason: [
|
|
|
|
- { required: false, message: "请输入审核意见", trigger: "blur" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- tableData: [
|
|
|
|
|
|
+ tableData: [],
|
|
|
|
+ tableList: [
|
|
|
|
+ {
|
|
|
|
+ label: "姓名",
|
|
|
|
+ prop: "userName",
|
|
|
|
+ },
|
|
{
|
|
{
|
|
- id: 1,
|
|
|
|
- name: "tang",
|
|
|
|
- idCard: "445224199901040000",
|
|
|
|
|
|
+ label: "身份证号",
|
|
|
|
+ prop: "userCard",
|
|
|
|
+ width: "140",
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- id: 2,
|
|
|
|
- name: "li",
|
|
|
|
- idCard: "445224199000000000",
|
|
|
|
|
|
+ label: "手机号",
|
|
|
|
+ prop: "userPhone",
|
|
|
|
+ width: "100",
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- id: 3,
|
|
|
|
- name: "chen",
|
|
|
|
- idCard: "445224199901040000",
|
|
|
|
|
|
+ label: "课程",
|
|
|
|
+ prop: "goodsName",
|
|
|
|
+ width: "160",
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- id: 4,
|
|
|
|
- name: "huang",
|
|
|
|
- idCard: "445224199000000000",
|
|
|
|
|
|
+ label: "年份",
|
|
|
|
+ prop: "year",
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- id: 5,
|
|
|
|
- name: "chen",
|
|
|
|
- idCard: "445224199901040000",
|
|
|
|
|
|
+ label: "专业",
|
|
|
|
+ prop: "majorName",
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- id: 6,
|
|
|
|
- name: "huang",
|
|
|
|
- idCard: "445224199000000000",
|
|
|
|
|
|
+ label: "业务",
|
|
|
|
+ prop: "businessName",
|
|
|
|
+ width: "180",
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- id: 7,
|
|
|
|
- name: "chen",
|
|
|
|
- idCard: "445224199901040000",
|
|
|
|
|
|
+ label: "原价(元)",
|
|
|
|
+ prop: "goodsPrice",
|
|
|
|
+ ch: "¥",
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- id: 8,
|
|
|
|
- name: "huang",
|
|
|
|
- idCard: "445224199000000000",
|
|
|
|
|
|
+ label: "单价(元)",
|
|
|
|
+ prop: "goodsRealPrice",
|
|
|
|
+ ch: "¥",
|
|
},
|
|
},
|
|
- ],
|
|
|
|
- tableList: [
|
|
|
|
{
|
|
{
|
|
- label: "姓名",
|
|
|
|
- prop: "name",
|
|
|
|
|
|
+ label: "学习状态",
|
|
|
|
+ prop: "studyStatus",
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- label: "身份证号",
|
|
|
|
- prop: "idCard",
|
|
|
|
|
|
+ label: "审核状态",
|
|
|
|
+ prop: "checkStatus",
|
|
|
|
+ scope: "isOptions",
|
|
|
|
+ options: [
|
|
|
|
+ {
|
|
|
|
+ label: "待审核",
|
|
|
|
+ value: 0,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: "已通过",
|
|
|
|
+ value: 1,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: "未通过",
|
|
|
|
+ value: 2,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: "已撤销",
|
|
|
|
+ value: 3,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: "已取消",
|
|
|
|
+ value: -1,
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: "发起原因",
|
|
|
|
+ prop: "refundReason",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: "审核意见",
|
|
|
|
+ prop: "checkReason",
|
|
|
|
+ style: { color: "red" },
|
|
},
|
|
},
|
|
],
|
|
],
|
|
refFormData: {
|
|
refFormData: {
|
|
@@ -175,37 +216,104 @@ export default {
|
|
pageNum: 1,
|
|
pageNum: 1,
|
|
},
|
|
},
|
|
total: 0,
|
|
total: 0,
|
|
|
|
+ orderDialogVisible: false,
|
|
|
|
+ allCheckData: [],
|
|
|
|
+ selectableFunc: (row, rowIndex) => {
|
|
|
|
+ if (row.checkStatus === 0) {
|
|
|
|
+ return true;
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
};
|
|
};
|
|
},
|
|
},
|
|
|
|
|
|
mounted() {},
|
|
mounted() {},
|
|
|
|
|
|
methods: {
|
|
methods: {
|
|
- init() {},
|
|
|
|
- search() {},
|
|
|
|
|
|
+ //订单详情
|
|
|
|
+ openOrderDetail() {
|
|
|
|
+ this.orderDialogVisible = true;
|
|
|
|
+ },
|
|
|
|
+ init() {
|
|
|
|
+ this.$api.systemtoporderid(this.orderSn).then((res) => {
|
|
|
|
+ this.form = res.data;
|
|
|
|
+ this.search();
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ search() {
|
|
|
|
+ let ary = Object.assign(
|
|
|
|
+ {
|
|
|
|
+ orderSn: this.orderSn,
|
|
|
|
+ orderFrom: this.form.orderFrom,
|
|
|
|
+ },
|
|
|
|
+ this.refFormData
|
|
|
|
+ );
|
|
|
|
+ this.loading = true;
|
|
|
|
+ this.$api
|
|
|
|
+ .systemtopordergoodslist(ary)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ this.tableData = res.rows;
|
|
|
|
+ this.total = res.total;
|
|
|
|
+ })
|
|
|
|
+ .finally(() => {
|
|
|
|
+ this.loading = false;
|
|
|
|
+ });
|
|
|
|
+ },
|
|
close() {
|
|
close() {
|
|
- this.$refs.formData.resetFields();
|
|
|
|
|
|
+ this.allCheckData = [];
|
|
|
|
+ this.$refs.tableList.clearSelection();
|
|
},
|
|
},
|
|
- submitForm() {
|
|
|
|
- this.$refs["formData"].validate((valid) => {
|
|
|
|
- if (valid) {
|
|
|
|
- this.disabledBtn = true;
|
|
|
|
|
|
+ auditFail() {
|
|
|
|
+ if (this.allCheckData.length === 0) {
|
|
|
|
+ this.$message.error("请勾选数据");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.$prompt("确定审核不通过吗?", "提示", {
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
+ inputPlaceholder: "输入不通过原因",
|
|
|
|
+ })
|
|
|
|
+ .then(({ value }) => {
|
|
this.$api
|
|
this.$api
|
|
- .systemtoporderrefundcheck({
|
|
|
|
|
|
+ .systemtopordercheckstudent({
|
|
|
|
+ checkReason: value || "",
|
|
|
|
+ checkStatus: 2,
|
|
orderSn: this.orderSn,
|
|
orderSn: this.orderSn,
|
|
- ...this.formData,
|
|
|
|
|
|
+ orderGoodsIds: this.allCheckData.map(
|
|
|
|
+ (i) => i.orderGoodsId
|
|
|
|
+ ),
|
|
})
|
|
})
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
|
+ this.$message.success("操作成功");
|
|
this.isShow = false;
|
|
this.isShow = false;
|
|
this.$emit("search");
|
|
this.$emit("search");
|
|
- })
|
|
|
|
- .finally(() => {
|
|
|
|
- this.disabledBtn = false;
|
|
|
|
});
|
|
});
|
|
- } else {
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {});
|
|
|
|
+ },
|
|
|
|
+ submitForm() {
|
|
|
|
+ if (this.allCheckData.length === 0) {
|
|
|
|
+ this.$message.error("请勾选数据");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.disabledBtn = true;
|
|
|
|
+ this.$api
|
|
|
|
+ .systemtopordercheckstudent({
|
|
|
|
+ checkStatus: 1,
|
|
|
|
+ orderSn: this.orderSn,
|
|
|
|
+ orderGoodsIds: this.allCheckData.map(
|
|
|
|
+ (i) => i.orderGoodsId
|
|
|
|
+ ),
|
|
|
|
+ })
|
|
|
|
+ .then((res) => {
|
|
|
|
+ this.$message.success("操作成功");
|
|
|
|
+ this.isShow = false;
|
|
|
|
+ this.$emit("search");
|
|
|
|
+ })
|
|
|
|
+ .finally(() => {
|
|
|
|
+ this.disabledBtn = false;
|
|
|
|
+ });
|
|
},
|
|
},
|
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
if (columnIndex === 0) {
|
|
if (columnIndex === 0) {
|
|
@@ -222,6 +330,13 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+
|
|
|
|
+ selectAll(value) {
|
|
|
|
+ this.allCheckData = value;
|
|
|
|
+ },
|
|
|
|
+ select(selection) {
|
|
|
|
+ this.allCheckData = selection;
|
|
|
|
+ },
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
isShow: {
|
|
isShow: {
|
|
@@ -242,7 +357,8 @@ export default {
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
.bgc_pink {
|
|
.bgc_pink {
|
|
padding: 10px;
|
|
padding: 10px;
|
|
- background-color: rgb(252, 234, 236);
|
|
|
|
|
|
+ box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.2);
|
|
|
|
+ border-radius: 8px;
|
|
color: #000;
|
|
color: #000;
|
|
}
|
|
}
|
|
.color_red {
|
|
.color_red {
|