|
|
@@ -1,7 +1,25 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<el-main ref="elMain" style="padding: 0px">
|
|
|
- <el-row style="margin: 0px 20px">
|
|
|
+ <!-- <el-form class="queryForm p-2" ref="queryFormRef" :model="pageRequest" :inline="true" label-width="100px">
|
|
|
+ <el-row style="margin: 0px 20px">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="报价单简称">
|
|
|
+ <el-input :size="overSize" clearable v-model.trim="pageRequest.quotationAbbr" placeholder="请输入报价单简称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="修改人">
|
|
|
+ <el-input :size="overSize" clearable v-model.trim="pageRequest.modifiedBy" placeholder="请输入"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="保险公司">
|
|
|
+ <el-cascader v-model="pageRequest.partnerCompaniesId" :size="overSize" :show-all-levels="false"
|
|
|
+ :options="ztreeNodes" :props="optionProps" @change="handleChange" clearable filterable></el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row> -->
|
|
|
<el-button
|
|
|
icon="fa fa-plus"
|
|
|
size="small"
|
|
|
@@ -9,8 +27,8 @@
|
|
|
@click="handleAdd"
|
|
|
>新增报价单</el-button
|
|
|
>
|
|
|
- </el-row>
|
|
|
- <kt-common-table :showBatchDelete="false" :showBatchSettled="true" :showBatchPrint="true"
|
|
|
+ <!-- </el-form> -->
|
|
|
+ <kt-common-table :showBatchDelete="false"
|
|
|
:data="pageResult" :columns="columns" @findPage="findPage" button1Name="编辑" @handleButton1="bannerput"
|
|
|
button2Name="删除" @handleButton2="bannerdelete" >
|
|
|
</kt-common-table>
|
|
|
@@ -27,59 +45,54 @@
|
|
|
<el-form :model="form" ref="form" label-width="120px">
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="轮播图图片" prop="image" style="width: 100%">
|
|
|
+ <el-form-item label="二维码图片" prop="qrCode" style="width: 100%">
|
|
|
+ <el-upload
|
|
|
+ action="#"
|
|
|
+ :auto-upload="false"
|
|
|
+ accept=".png, .jpg, .jpeg"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-change="drivingupload1">
|
|
|
+ <img v-if="qrCodeImage" :src="qrCodeImage" class="avatar">
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="报价单" prop="quotationImage" style="width: 100%">
|
|
|
<el-upload
|
|
|
action="#"
|
|
|
- list-type="picture-card"
|
|
|
:auto-upload="false"
|
|
|
- :limit="1"
|
|
|
- :file-list="fileList"
|
|
|
- :on-exceed="uploadlimit"
|
|
|
- :on-change="drivingupload1"
|
|
|
accept=".png, .jpg, .jpeg"
|
|
|
- >
|
|
|
- <i slot="default" class="el-icon-plus"></i>
|
|
|
- <div slot="file" slot-scope="{ file }">
|
|
|
- <img
|
|
|
- class="el-upload-list__item-thumbnail"
|
|
|
- :src="file.url"
|
|
|
- alt
|
|
|
- />
|
|
|
- </div>
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-change="carfrontChange">
|
|
|
+ <img v-if="quotationImage" :src="quotationImage" class="avatar">
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-form-item label="轮播图名称" prop="title">
|
|
|
+
|
|
|
+ <el-form-item label="状态" prop="state">
|
|
|
+ <el-select v-model="form.state" placeholder="请选择是否开启">
|
|
|
+ <el-option label="开启" :value="1"></el-option>
|
|
|
+ <el-option label="关闭" :value="0"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="报价单简称" prop="title">
|
|
|
<el-input
|
|
|
- v-model="form.title"
|
|
|
- placeholder="请输入轮播图名称"
|
|
|
- style="width: 300px"
|
|
|
+ v-model="form.quotationAbbr"
|
|
|
+ placeholder="请输入报价单简称"
|
|
|
+ style="width: 200px"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="轮播图排序" prop="sort">
|
|
|
+ <el-form-item label="报价单描述" prop="quotationDescr">
|
|
|
<el-input
|
|
|
- v-model="form.sort"
|
|
|
- type="number"
|
|
|
- placeholder="请输入排序"
|
|
|
- style="width: 150px"
|
|
|
+ v-model="form.quotationDescr"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入报价单描述"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="手机头部颜色" prop="color">
|
|
|
- <el-color-picker
|
|
|
- v-model="color"
|
|
|
- @change="colorchange"
|
|
|
- ></el-color-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="是否开启" prop="enable">
|
|
|
- <el-select v-model="form.enable" placeholder="请选择是否开启">
|
|
|
- <el-option label="开启" :value="1"></el-option>
|
|
|
- <el-option label="关闭" :value="0"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="轮播图跳转链接" prop="url">
|
|
|
- <el-input v-model="form.url" placeholder="请输入跳转链接"> </el-input>
|
|
|
- </el-form-item>
|
|
|
+
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
@@ -90,11 +103,18 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import { formatWithSeperator, format } from "@/utils/datetime.js";
|
|
|
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
|
|
|
+
|
|
|
export default {
|
|
|
+ components: {
|
|
|
+ KtCommonTable,
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
dialogTitle: "",
|
|
|
- fileList: [],
|
|
|
+ overSize:'small',
|
|
|
+ quotationImage: '',
|
|
|
+ qrCodeImage:'',
|
|
|
dialogVisible: false, //控制对话框显示
|
|
|
form: {
|
|
|
title: "", //标题
|
|
|
@@ -128,40 +148,53 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
drivingupload1(file) {
|
|
|
- this.form.image = "";
|
|
|
- var file = file.raw;
|
|
|
- var _this = this;
|
|
|
- var reader = new FileReader();
|
|
|
- reader.readAsDataURL(file);
|
|
|
- reader.onload = function (e) {
|
|
|
- // 图片base64化
|
|
|
- _this.form.image = this.result;
|
|
|
- };
|
|
|
+ let fileRaw = file.raw;
|
|
|
+ this.qrCodeImage = window.URL.createObjectURL(fileRaw);
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
+ params.append("multipartFile", fileRaw);
|
|
|
+ params.append("type", "image");
|
|
|
+ this.$api.letter.uploadFile(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.CarFrontFile = fileRaw; //文件流
|
|
|
+ this.form.qrCodeImage=res.data.url
|
|
|
+ this.form.qrCode=res.data.id
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
- uploadlimit(files, fileList) {
|
|
|
- if (fileList.length == "1") {
|
|
|
- this.$message({
|
|
|
- message: "一次最多只能上传一张",
|
|
|
- type: "warning",
|
|
|
- });
|
|
|
- }
|
|
|
+ carfrontChange(file) {
|
|
|
+ let fileRaw = file.raw;
|
|
|
+ this.quotationImage = window.URL.createObjectURL(fileRaw);
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
+ params.append("multipartFile", fileRaw);
|
|
|
+ params.append("type", "image");
|
|
|
+ this.$api.letter.uploadFile(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.CarFrontFile = fileRaw; //文件流
|
|
|
+ this.form.quotationImage=res.data.url
|
|
|
+ this.form.quotationId=res.data.id
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
+
|
|
|
bannerput(index, row) {
|
|
|
- console.log(row);
|
|
|
//修改
|
|
|
this.dialogVisible = true;
|
|
|
this.form = row;
|
|
|
this.id = row.id;
|
|
|
},
|
|
|
- bannerdelete(ndex, row) {
|
|
|
- this.$confirm("确定删除该图片吗?,请谨慎操作", "提示", {
|
|
|
+ bannerdelete( {row}) {
|
|
|
+ this.$confirm("确定删除吗?", "提示", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
type: "warning",
|
|
|
})
|
|
|
.then(() => {
|
|
|
let id = row.id;
|
|
|
- this.$api.task.bannerDelete(id).then((res) => {
|
|
|
+ this.$api.menu.sysQuotationTheme(id).then((res) => {
|
|
|
if (res.code == "200") {
|
|
|
this.$message({
|
|
|
type: "success",
|
|
|
@@ -171,19 +204,13 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
})
|
|
|
- .catch(() => {
|
|
|
- this.$message({
|
|
|
- type: "info",
|
|
|
- message: "已取消删除",
|
|
|
- });
|
|
|
- });
|
|
|
},
|
|
|
colorchange(e) {
|
|
|
this.form.color = e;
|
|
|
},
|
|
|
submit() {
|
|
|
if (!!this.id) {
|
|
|
- this.$api.task.bannerPut(this.form, this.id).then((res) => {
|
|
|
+ this.$api.menu.quotationUpdate(this.form, this.id).then((res) => {
|
|
|
console.log(res);
|
|
|
if (res.code == "200") {
|
|
|
this.$message({
|
|
|
@@ -193,9 +220,12 @@ export default {
|
|
|
this.findPage();
|
|
|
this.dialogVisible = false;
|
|
|
}
|
|
|
+ else{
|
|
|
+ this.$message.error(res.msg)
|
|
|
+ }
|
|
|
});
|
|
|
} else {
|
|
|
- this.$api.task.banneradd(this.form).then((res) => {
|
|
|
+ this.$api.menu.quotationSave(this.form).then((res) => {
|
|
|
console.log(res);
|
|
|
if (res.code == "200") {
|
|
|
this.$message({
|
|
|
@@ -205,6 +235,9 @@ export default {
|
|
|
this.findPage();
|
|
|
this.dialogVisible = false;
|
|
|
}
|
|
|
+ else{
|
|
|
+ this.$message.error(res.msg)
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
@@ -214,8 +247,9 @@ export default {
|
|
|
},
|
|
|
//新增海报
|
|
|
handleAdd() {
|
|
|
- this.dialogTitle = "新增轮播图";
|
|
|
+ this.dialogTitle = "新增";
|
|
|
this.dialogVisible = true;
|
|
|
+ this.form={}
|
|
|
},
|
|
|
|
|
|
//--数据字典 end --
|
|
|
@@ -241,7 +275,7 @@ export default {
|
|
|
this.pageRequest.pageNum = data.pageRequest.pageNum;
|
|
|
this.pageRequest.pageSize = data.pageRequest.pageSize;
|
|
|
}
|
|
|
- this.$api.task.quotationPage(this.pageRequest).then((res) => {
|
|
|
+ this.$api.menu.quotationPage(this.pageRequest).then((res) => {
|
|
|
if(res.code==200){
|
|
|
this.pageResult = res.data?res.data:[]
|
|
|
}
|
|
|
@@ -267,15 +301,12 @@ export default {
|
|
|
position: relative;
|
|
|
overflow: hidden;
|
|
|
}
|
|
|
-.avatar-uploader .el-upload:hover {
|
|
|
- border-color: #409eff;
|
|
|
-}
|
|
|
.avatar-uploader-icon {
|
|
|
font-size: 28px;
|
|
|
color: #8c939d;
|
|
|
width: 150px;
|
|
|
- height: 266px;
|
|
|
- line-height: 266px;
|
|
|
+ height: 150px;
|
|
|
+ line-height: 150px;
|
|
|
text-align: center;
|
|
|
border: 1px dashed #d9d9d9;
|
|
|
}
|
|
|
@@ -284,7 +315,7 @@ export default {
|
|
|
padding: 5px;
|
|
|
border-radius: 6px;
|
|
|
width: 150px;
|
|
|
- height: 266px;
|
|
|
+ height: 150px;
|
|
|
display: block;
|
|
|
}
|
|
|
.imageclass {
|