Browse Source

1.创建理赔单据 > 添加文件中心 缺少”编辑“”删除“按钮
2.从A功能模块切到B功能模块,再返回A功能模块时,原界面操作应保留
3.销售线索单处于非编辑状态下,添加”详细信息表“按钮应禁用
4.添加详细信息表"删除"“编辑”按钮点击不生效
5.输入的“提报客户”数据类型不对时,弹出正确的提示弹窗

Qukatie 3 weeks ago
parent
commit
a8b619afd1

+ 11 - 0
src/api/salesLead/index.js

@@ -50,6 +50,17 @@ export const remove = (data) => {
     })
 }
 /**
+ * 销售线索删除
+ * @param {any} data
+ */
+export const itemRemove = (data) => {
+    return request({
+        url: '/api/gubersail-admin/bladesalesleaddetail/remove',
+        method: 'post',
+        params: data
+    })
+}
+/**
  * 销售线索提交审批
  * @param {any} params
  */

+ 2 - 2
src/api/uploadFile/upload-file.js

@@ -9,8 +9,8 @@ export function updateListRemove(data, url) {
   return request({
     url: '/api'+url,
     method: 'post',
-    data: {
-      id: data
+    params: {
+      ids: data
     }
   })
 }

+ 18 - 16
src/components/uploadFile/index.vue

@@ -10,22 +10,18 @@
         </div>
       </template>
       <template slot="fileUrl" slot-scope="{ row, index }">
-        <el-upload
-          v-if="row.$cellEdit"
-          :headers="headers"
-          action="/api/blade-resource/oss/endpoint/put-file"
-          :on-success="rowonSuccess"
-          :on-error="onError"
-        >
-          <el-input placeholder="请选择上传文件" v-model="row.fileUrl" readonly size="small" @click.stop="rowIndex(row,index)"></el-input>
-        </el-upload>
+        <span v-if="row.$cellEdit" @click.stop="rowPick(row, index)">
+          <el-upload :headers="headers" action="/api/blade-resource/oss/endpoint/put-file" :on-success="rowonSuccess" :on-error="onError">
+            <el-input placeholder="请选择上传文件" v-model="row.fileUrl" readonly size="small"></el-input>
+          </el-upload>
+        </span>
         <span v-else>
           {{ row.fileUrl }}
         </span>
       </template>
       <template slot="menu" slot-scope="{ row, index }">
-        <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">{{ row.$cellEdit ? "保存" : "编辑" }}</el-button>
-        <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)" :disabled="row.auditStatus > 0">删 除 </el-button>
+        <el-button size="small" type="text" icon="el-icon-edit" :disabled="disabled" @click="rowEdit(row)">{{ row.$cellEdit ? "保存" : "编辑" }}</el-button>
+        <el-button size="small" type="text" icon="el-icon-delete" @click="rowDel(row, index)" :disabled="disabled">删 除 </el-button>
       </template>
     </avue-crud>
   </div>
@@ -38,11 +34,12 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      rowIndex:null,
       headers: { "Blade-Auth": "Bearer " + getToken() },
       option: {
         maxHeight: 340,
         calcHeight: 30,
-        menuWidth: 60,
+        menuWidth: 120,
         searchMenuSpan: 18,
         tip: false,
         border: true,
@@ -100,7 +97,7 @@ export default {
     },
     delUrl: {
       type: String,
-      default: "/api/blade-los/tradingBoxFiles/remove"
+      default: "/gubersail-admin/bladeclaimattachment/remove"
     },
     disabled: {
       type: Boolean,
@@ -187,9 +184,14 @@ export default {
         $cellEdit: true
       });
     },
-    rowonSuccess(res, file, fileList) {},
-    rowIndex(row,index){
-      console.log(row,index)
+    rowonSuccess(res, file, fileList) {
+      this.data[this.rowIndex].fileName = res.data.originalName;
+      this.data[this.rowIndex].fileUrl = res.data[this.linkKey];
+      this.data[this.rowIndex].fileType = this.getFileExtension(res.data.originalName);
+    },
+    rowPick(row, index) {
+      console.log(row, index);
+      this.rowIndex = index;
     },
     /**
      * @param {any} err

+ 56 - 0
src/router/views/index.js

@@ -428,5 +428,61 @@ export default [
                     )
             }
         ]
+    },
+    {
+        path: '/claimSettlement/index',
+        component: Layout,
+        hidden: true,
+        children: [{
+            path: '/claimSettlement/index',
+            name: '理赔',
+            meta: {
+                i18n: '/claimSettlement/index',
+                keepAlive: true,
+            },
+            component: () => import( /* webpackChunkName: "views" */ '@/views/claimSettlement/index.vue')
+        }]
+    },
+    {
+        path: '/salesLead/index',
+        component: Layout,
+        hidden: true,
+        children: [{
+            path: '/salesLead/index',
+            name: '销售线索',
+            meta: {
+                i18n: '/salesLead/index',
+                keepAlive: true,
+            },
+            component: () => import( /* webpackChunkName: "views" */ '@/views/salesLead/index.vue')
+        }]
+    },
+    {
+        path: '/goodsManage/index',
+        component: Layout,
+        hidden: true,
+        children: [{
+            path: '/goodsManage/index',
+            name: '商品管理',
+            meta: {
+                i18n: '/goodsManage/index',
+                keepAlive: true,
+            },
+            component: () => import( /* webpackChunkName: "views" */ '@/views/goodsManage/index.vue')
+        }]
+    },
+    {
+        path: '/warehouse/index',
+        component: Layout,
+        hidden: true,
+        children: [{
+            path: '/warehouse/index',
+            name: '仓库管理',
+            meta: {
+                i18n: '/warehouse/index',
+                keepAlive: true,
+            },
+            component: () => import( /* webpackChunkName: "views" */ '@/views/warehouse/index.vue')
+        }]
     }
 ];

+ 2 - 17
src/views/claimSettlement/detailsPage.vue

@@ -34,22 +34,6 @@
     <div style="margin-top: 50px">
       <trade-card title="基础信息">
         <avue-form :option="optionForm" v-model="form" ref="form">
-          <tempalte slot="sourceName">
-            <dic-select
-              v-model="form.sourceName"
-              placeholder="来源方名称"
-              label="cnName"
-              res="records"
-              url="/gubersail-admin/fc/customer/list"
-              :filterable="true"
-              :remote="true"
-              dataName="cnName"
-              @selectChange="dicChange('stationCname', $event)"
-              :disabled="editDis"
-              :slotRight="true"
-              rightLabel="code"
-            ></dic-select>
-          </tempalte>
         </avue-form>
       </trade-card>
       <trade-card title="文件中心">
@@ -117,7 +101,8 @@ export default {
           },
           {
             label: "来源方名称",
-            prop: "sourceName"
+            prop: "sourceName",
+            disabled:true,
           },
           {
             label: "消费者姓名",

+ 43 - 31
src/views/salesLead/detailsPage.vue

@@ -55,11 +55,13 @@
       <trade-card title="详细信息表">
         <avue-crud :option="option" :data="form.salesLeadDetailList" id="out-table" ref="crud" @selection-change="selectionChange">
           <template slot="indexHeader" slot-scope="{ row, index }">
-            <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="false" circle @click="addRow()"> </el-button>
+            <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDis" circle @click="addRow()"> </el-button>
           </template>
           <template slot="menu" slot-scope="{ row, index }">
-            <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑 </el-button>
-            <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)" :disabled="row.status > 0">删 除 </el-button>
+            <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)" :disabled="editDis">{{
+              row.$cellEdit ? "保存" : "编辑"
+            }}</el-button>
+            <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)" :disabled="editDis">删除 </el-button>
           </template>
         </avue-crud>
       </trade-card>
@@ -71,7 +73,7 @@
 </template>
 
 <script>
-import { submit, detail, submitLead, revokeLead } from "@/api/salesLead/index";
+import { submit, detail, submitLead, revokeLead, itemRemove } from "@/api/salesLead/index";
 import dicSelect from "@/components/dicSelect/main.vue";
 export default {
   name: "detailsPage",
@@ -95,36 +97,18 @@ export default {
           },
           {
             label: "提报客户",
-            prop: "customerId",
-            rules: [
-              {
-                required: true,
-                message: " ",
-                trigger: "blur"
-              }
-            ]
+            prop: "customerName",
+            disabled: true
           },
           {
             label: "联系人姓名",
             prop: "contactName",
-            rules: [
-              {
-                required: true,
-                message: " ",
-                trigger: "blur"
-              }
-            ]
+            disabled: true
           },
           {
             label: "联系电话",
             prop: "contactPhone",
-            rules: [
-              {
-                required: true,
-                message: " ",
-                trigger: "blur"
-              }
-            ]
+            disabled: true
           },
           {
             label: "提报题目",
@@ -291,6 +275,7 @@ export default {
         editBtn: false,
         menuWidth: 120,
         header: false,
+        align: "center",
         column: [
           {
             label: "index",
@@ -300,11 +285,6 @@ export default {
             headerslot: true
           },
           {
-            label: "线索ID",
-            prop: "leadId",
-            overHidden: true
-          },
-          {
             label: "详细信息描述",
             prop: "detailText",
             cell: true,
@@ -408,6 +388,38 @@ export default {
         $cellEdit: true
       });
     },
+    /**
+     * @param {{ id: any; }} row
+     * @param {any} index
+     */
+    rowEdit(row, index) {
+      // @ts-ignore
+      if (row.$cellEdit == true) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    /**
+     * @param {{ id: any; }} row
+     * @param {any} index
+     */
+    rowDel(row, index) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        if (row.id) {
+          itemRemove({ ids: row.id }).then(res => {
+            this.$message.success("操作成功!");
+            this.form.salesLeadDetailList.splice(index, 1);
+          });
+        } else {
+          this.form.salesLeadDetailList.splice(index, 1);
+        }
+      });
+    },
     submit() {
       // @ts-ignore
       this.$refs.form.validate((valid, done) => {

+ 1 - 1
src/views/salesLead/index.vue

@@ -99,7 +99,7 @@ export default {
             overHidden: true
           },
           {
-            label: '客户名称',
+            label: '提报客户',
             prop: 'customerName',
             width: 90,
             search: true,