lihongxiao 2 лет назад
Родитель
Сommit
2e335c014f
3 измененных файлов с 133 добавлено и 81 удалено
  1. 2 2
      config/dev.env.js
  2. 21 0
      src/http/moudules/menu.js
  3. 110 79
      src/views/Sys/QuotationManagement.vue

+ 2 - 2
config/dev.env.js

@@ -11,9 +11,9 @@ module.exports = merge(prodEnv, {
   // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
   // BASE_URL: '"http:///192.168.0.106:8080/"',//屈晨
   // BASE_URL: '"http:///192.168.0.253:8080/"',//田智
-  BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
+  // BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
   // BASE_URL: '"http://192.168.1.101:8080/"',
-  // BASE_URL: '"http:///192.168.0.22:8080/"',//郝宇
+  BASE_URL: '"http:///192.168.0.22:8080/"',//郝宇
   // BASE_URL: '"http:///192.168.0.103:8080/"',//
 })
 

+ 21 - 0
src/http/moudules/menu.js

@@ -71,4 +71,25 @@ export const quotationPage = (data) => {
         method: 'post',
         data
     })
+}
+export const sysQuotationTheme = (data) => {
+    return axios({
+        url: '/sys/quotation/delete/sysQuotationTheme',
+        method: 'post',
+        data
+    })
+}
+export const quotationSave = (data) => {
+    return axios({
+        url: '/sys/quotation/save/sysQuotationTheme',
+        method: 'post',
+        data
+    })
+}
+export const quotationUpdate= (data) => {
+    return axios({
+        url: '/sys/quotation/update/sysQuotationTheme',
+        method: 'post',
+        data
+    })
 }

+ 110 - 79
src/views/Sys/QuotationManagement.vue

@@ -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 {