|
@@ -2,66 +2,32 @@
|
|
|
<div class="tenant">
|
|
|
<!-- <Banner /> -->
|
|
|
<div class="content">
|
|
|
- <byTable
|
|
|
- :source="sourceList.data"
|
|
|
- :pagination="sourceList.pagination"
|
|
|
- :config="config"
|
|
|
- :loading="loading"
|
|
|
- highlight-current-row
|
|
|
- :selectConfig="selectConfig"
|
|
|
- :table-events="{
|
|
|
+ <byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
|
|
|
+ :selectConfig="selectConfig" :table-events="{
|
|
|
//element talbe事件都能传
|
|
|
- }"
|
|
|
- :action-list="[
|
|
|
+ }" :action-list="[
|
|
|
{
|
|
|
text: '添加售后',
|
|
|
disabled: false,
|
|
|
action: () => clickAdd(),
|
|
|
},
|
|
|
- ]"
|
|
|
- @get-list="getList"
|
|
|
- >
|
|
|
+ ]" @get-list="getList">
|
|
|
</byTable>
|
|
|
</div>
|
|
|
|
|
|
- <el-dialog
|
|
|
- title="添加售后"
|
|
|
- v-model="dialogVisible"
|
|
|
- width="40%"
|
|
|
- destroy-on-close
|
|
|
- v-if="dialogVisible"
|
|
|
- >
|
|
|
- <byForm
|
|
|
- :formConfig="formConfig"
|
|
|
- :formOption="formOption"
|
|
|
- v-model="formData.data"
|
|
|
- :rules="rules"
|
|
|
- ref="formDom"
|
|
|
- v-loading="submitLoading"
|
|
|
- >
|
|
|
+ <el-dialog title="添加售后" v-model="dialogVisible" width="40%" destroy-on-close v-if="dialogVisible">
|
|
|
+ <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="formDom" v-loading="submitLoading">
|
|
|
<template #productSn>
|
|
|
<div style="width: 100%; display: flex">
|
|
|
- <el-input
|
|
|
- v-model="formData.data.productSn"
|
|
|
- placeholder="请输入产品Sn"
|
|
|
- />
|
|
|
- <el-button @click="handleQuery" style="margin-left: 10px"
|
|
|
- >查询</el-button
|
|
|
- >
|
|
|
+ <el-input v-model="formData.data.productSn" placeholder="请输入产品Sn" />
|
|
|
+ <el-button @click="handleQuery" style="margin-left: 10px">查询</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<template #file>
|
|
|
<div style="width: 100%">
|
|
|
- <el-upload
|
|
|
- v-model:fileList="formData.data.fileList"
|
|
|
- action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
|
|
|
- :data="uploadData"
|
|
|
- multiple
|
|
|
- :before-upload="handleBeforeUpload"
|
|
|
- :on-success="handleSuccess"
|
|
|
- :on-preview="onPreviewFile"
|
|
|
- >
|
|
|
+ <el-upload v-model:fileList="formData.data.fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com" :data="uploadData"
|
|
|
+ multiple :before-upload="handleBeforeUpload" :on-success="handleSuccess" :on-preview="onPreviewFile">
|
|
|
<el-button type="primary" plain>选择</el-button>
|
|
|
</el-upload>
|
|
|
</div>
|
|
@@ -69,32 +35,16 @@
|
|
|
</byForm>
|
|
|
<template #footer>
|
|
|
<el-button @click="dialogVisible = false" size="large">取 消</el-button>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- @click="submitForm()"
|
|
|
- size="large"
|
|
|
- :loading="submitLoading"
|
|
|
- >
|
|
|
+ <el-button type="primary" @click="submitForm()" size="large" :loading="submitLoading">
|
|
|
确 定
|
|
|
</el-button>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog
|
|
|
- title="售后跟进"
|
|
|
- v-model="openFollow"
|
|
|
- width="80%"
|
|
|
- destroy-on-close
|
|
|
- v-if="openFollow"
|
|
|
- >
|
|
|
+ <el-dialog title="售后跟进" v-model="openFollow" width="80%" destroy-on-close v-if="openFollow">
|
|
|
<div style="width: 100%; display: flex">
|
|
|
<div style="width: 48%; height: 70vh; overflow: auto; margin-right: 2%">
|
|
|
- <byForm
|
|
|
- :formConfig="formConfigDetail"
|
|
|
- :formOption="formOption"
|
|
|
- v-model="formData.detailData"
|
|
|
- ref="detailDom"
|
|
|
- >
|
|
|
+ <byForm :formConfig="formConfigDetail" :formOption="formOption" v-model="formData.detailData" ref="detailDom">
|
|
|
<template #title1>
|
|
|
<div style="width: 100%">
|
|
|
<TitleInfo content="产品信息"></TitleInfo>
|
|
@@ -107,56 +57,31 @@
|
|
|
</template>
|
|
|
<template #file>
|
|
|
<div style="width: 100%">
|
|
|
- <el-upload
|
|
|
- v-model:fileList="formData.detailData.fileList"
|
|
|
- action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
|
|
|
- :data="uploadData"
|
|
|
- multiple
|
|
|
- :before-upload="handleBeforeUpload"
|
|
|
- :on-success="handleSuccess"
|
|
|
- :on-preview="onPreviewFile"
|
|
|
- >
|
|
|
+ <el-upload v-model:fileList="formData.detailData.fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
|
|
|
+ :data="uploadData" multiple :before-upload="handleBeforeUpload" :on-success="handleSuccess" :on-preview="onPreviewFile">
|
|
|
<el-button type="primary" plain disabled>选择</el-button>
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
</template>
|
|
|
</byForm>
|
|
|
</div>
|
|
|
- <div
|
|
|
- style="width: 50%; height: 70vh; overflow: auto; padding-right: 20px"
|
|
|
- >
|
|
|
- <el-form
|
|
|
- :model="formData.followData"
|
|
|
- label-width="120px"
|
|
|
- label-position="top"
|
|
|
- ref="followDom"
|
|
|
- :rules="followRules"
|
|
|
- v-loading="submitLoading"
|
|
|
- >
|
|
|
+ <div style="width: 50%; height: 70vh; overflow: auto; padding-right: 20px">
|
|
|
+ <el-form :model="formData.followData" label-width="120px" label-position="top" ref="followDom" :rules="followRules"
|
|
|
+ v-loading="submitLoading">
|
|
|
<div style="width: 100%">
|
|
|
- <TitleInfo
|
|
|
- content="配件问题"
|
|
|
- style="margin: 20px 0 20px 0"
|
|
|
- ></TitleInfo>
|
|
|
+ <TitleInfo content="配件问题" style="margin: 20px 0 20px 0"></TitleInfo>
|
|
|
<el-collapse v-model="activeNames">
|
|
|
- <el-collapse-item
|
|
|
- v-for="(item, index) in formData.followData.bomDetailList"
|
|
|
- :key="item.id"
|
|
|
- :name="item.id"
|
|
|
- >
|
|
|
+ <el-collapse-item v-for="(item, index) in formData.followData.bomDetailList" :key="item.id" :name="item.id">
|
|
|
<template #title>
|
|
|
<div style="width: 100%; display: flex">
|
|
|
<div style="flex: 1">
|
|
|
- <el-icon
|
|
|
- color="red"
|
|
|
- v-if="
|
|
|
+ <el-icon color="red" v-if="
|
|
|
submitData[item.productId].quantity &&
|
|
|
submitData[item.productId].remark &&
|
|
|
submitData[item.productId].fileList.length > 0
|
|
|
- "
|
|
|
- style="margin-right: 10px"
|
|
|
- ><WarnTriangleFilled
|
|
|
- /></el-icon>
|
|
|
+ " style="margin-right: 10px">
|
|
|
+ <WarnTriangleFilled />
|
|
|
+ </el-icon>
|
|
|
{{ item.productName }}
|
|
|
</div>
|
|
|
<div style="margin-right: 10px">
|
|
@@ -166,38 +91,18 @@
|
|
|
</template>
|
|
|
<div>
|
|
|
<el-form-item label="售后数量">
|
|
|
- <el-input-number
|
|
|
- onmousewheel="return false;"
|
|
|
- v-model="submitData[item.productId].quantity"
|
|
|
- placeholder="请输入"
|
|
|
- style="width: 100%"
|
|
|
- :precision="0"
|
|
|
- :controls="false"
|
|
|
- :min="0"
|
|
|
- :disabled="isDetail"
|
|
|
- />
|
|
|
+ <el-input-number onmousewheel="return false;" v-model="submitData[item.productId].quantity" placeholder="请输入"
|
|
|
+ style="width: 100%" :precision="0" :controls="false" :min="0" :disabled="isDetail" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="售后说明">
|
|
|
- <el-input
|
|
|
- v-model="submitData[item.productId].remark"
|
|
|
- type="textarea"
|
|
|
- :disabled="isDetail"
|
|
|
- />
|
|
|
+ <el-input v-model="submitData[item.productId].remark" type="textarea" :disabled="isDetail" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="现场照片" style="margin-top: 20px">
|
|
|
<div>
|
|
|
- <el-upload
|
|
|
- v-model:fileList="submitData[item.productId].fileList"
|
|
|
- action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
|
|
|
- :data="uploadData"
|
|
|
- multiple
|
|
|
- :before-upload="handleBeforeUpload"
|
|
|
- :on-success="handleSuccess"
|
|
|
- :on-preview="onPreviewFile"
|
|
|
- >
|
|
|
- <el-button type="primary" plain :disabled="isDetail"
|
|
|
- >选择</el-button
|
|
|
- >
|
|
|
+ <el-upload v-model:fileList="submitData[item.productId].fileList" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
|
|
|
+ :data="uploadData" multiple :before-upload="handleBeforeUpload" :on-success="handleSuccess"
|
|
|
+ :on-preview="onPreviewFile">
|
|
|
+ <el-button type="primary" plain :disabled="isDetail">选择</el-button>
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
@@ -210,45 +115,19 @@
|
|
|
<TitleInfo content="其他问题"></TitleInfo>
|
|
|
</div>
|
|
|
<el-form-item label=" " prop="afterSalesRemark">
|
|
|
- <el-input
|
|
|
- v-model="formData.followData.afterSalesRemark"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入"
|
|
|
- :disabled="isDetail"
|
|
|
- />
|
|
|
+ <el-input v-model="formData.followData.afterSalesRemark" type="textarea" placeholder="请输入" :disabled="isDetail" />
|
|
|
</el-form-item>
|
|
|
<div style="width: 100%">
|
|
|
- <TitleInfo
|
|
|
- content="售后金额"
|
|
|
- style="margin-top: 20px"
|
|
|
- ></TitleInfo>
|
|
|
+ <TitleInfo content="售后金额" style="margin-top: 20px"></TitleInfo>
|
|
|
</div>
|
|
|
<el-form-item label=" " prop="amount">
|
|
|
- <el-input-number
|
|
|
- onmousewheel="return false;"
|
|
|
- v-model="formData.followData.amount"
|
|
|
- placeholder="请输入"
|
|
|
- style="width: 100%"
|
|
|
- :precision="2"
|
|
|
- :controls="false"
|
|
|
- :min="0"
|
|
|
- :disabled="isDetail"
|
|
|
- />
|
|
|
+ <el-input-number onmousewheel="return false;" v-model="formData.followData.amount" placeholder="请输入" style="width: 100%" :precision="2"
|
|
|
+ :controls="false" :min="0" :disabled="isDetail" />
|
|
|
</el-form-item>
|
|
|
<div style="width: 100%">
|
|
|
- <TitleInfo
|
|
|
- content="程序文件"
|
|
|
- style="margin: 20px 0 20px 0"
|
|
|
- ></TitleInfo>
|
|
|
- <el-upload
|
|
|
- v-model:fileList="formData.followData.fileListOne"
|
|
|
- action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
|
|
|
- :data="uploadData"
|
|
|
- multiple
|
|
|
- :before-upload="handleBeforeUpload"
|
|
|
- :on-success="handleSuccess"
|
|
|
- :on-preview="onPreviewFile"
|
|
|
- >
|
|
|
+ <TitleInfo content="程序文件" style="margin: 20px 0 20px 0"></TitleInfo>
|
|
|
+ <el-upload v-model:fileList="formData.followData.fileListOne" action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
|
|
|
+ :data="uploadData" multiple :before-upload="handleBeforeUpload" :on-success="handleSuccess" :on-preview="onPreviewFile">
|
|
|
<el-button type="primary" plain disabled>选择</el-button>
|
|
|
</el-upload>
|
|
|
</div>
|
|
@@ -258,14 +137,7 @@
|
|
|
|
|
|
<template #footer>
|
|
|
<el-button @click="openFollow = false" size="large">取 消</el-button>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- @click="submitFollow()"
|
|
|
- size="large"
|
|
|
- :loading="submitLoading"
|
|
|
- v-if="!isDetail"
|
|
|
- >确 定</el-button
|
|
|
- >
|
|
|
+ <el-button type="primary" @click="submitFollow()" size="large" :loading="submitLoading" v-if="!isDetail">确 定</el-button>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -278,7 +150,6 @@ import byForm from "@/components/byForm/index";
|
|
|
import useUserStore from "@/store/modules/user";
|
|
|
import TitleInfo from "@/components/TitleInfo/index.vue";
|
|
|
import { async } from "@antv/x6/lib/registry/marker/main";
|
|
|
-
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
const uploadData = ref({});
|
|
|
const loading = ref(false);
|
|
@@ -352,6 +223,7 @@ const config = computed(() => {
|
|
|
prop: "productName",
|
|
|
},
|
|
|
},
|
|
|
+
|
|
|
{
|
|
|
attrs: {
|
|
|
label: "规格型号",
|
|
@@ -360,6 +232,12 @@ const config = computed(() => {
|
|
|
},
|
|
|
{
|
|
|
attrs: {
|
|
|
+ label: "售后金额",
|
|
|
+ prop: "amount",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ attrs: {
|
|
|
label: "售后状态",
|
|
|
prop: "status",
|
|
|
},
|