瀏覽代碼

配件,福达

caojunjie 2 年之前
父節點
當前提交
620677a381

+ 8 - 0
src/api/exportTrade/purchaseContract.js

@@ -12,6 +12,14 @@ export const getList = (current, size, params) => {
     }
   })
 }
+//查询客户类型主页下拉
+export function listBYStatus(query) {
+  return request({
+    url: '/api/blade-purchase-sales/exportOrder/listBYStatus',
+    method: 'get',
+    params: query
+  })
+}
 export const listXS = (params) => {
   return request({
     url: '/api/blade-purchase-sales/exportOrder/listXS',

+ 2 - 2
src/api/paymentManagement/parameterConfiguration/index.js

@@ -2,7 +2,7 @@ import request from '@/router/axios';
 
 export const getList = (current, size, params) => {
     return request({
-        url: '/api/blade-client/parameters/list',
+        url: '/api/blade-pay/parameters/list',
         method: 'get',
         params: {
             ...params,
@@ -14,7 +14,7 @@ export const getList = (current, size, params) => {
 //新增修改
 export function submit(data){
     return request({
-        url:'/api/blade-client/parameters/submit',
+        url:'/api/blade-pay/parameters/submit',
         method:'post',
         data
     })

+ 19 - 16
src/views/client/detailsInfo.vue

@@ -164,7 +164,7 @@
         </basic-container>
     </div>
 </template>
-  
+
 <script>
 import { optionList, sellOption, capitalOption } from "./js/optionList";
 import { getList, getCorpsAll, gainUser, getCorpType, getAllgoods } from "@/api/basicData/salesOrder";
@@ -285,19 +285,23 @@ export default {
         }
     },
     async created() {
-        this.sellOption = await this.getColumnData(
-            this.getColumnName(208.1),
-            sellOption
-        );
-        this.capitalOption = await this.getColumnData(
-            this.getColumnName(223),
-            capitalOption
-        );
-        // this.sellOption.height = window.innerHeight - 330;
-        if (this.detailData.id) {
-            this.getDetail(this.detailData.id);
-        }
-        this.getAllWorkDicts()
+      this.sellOption = await this.getColumnData(
+          this.getColumnName(208.1),
+          sellOption
+      );
+      this.getWorkDicts("order_status_pjjl").then(res => {
+        this.findObject(this.sellOption.column, "actualPaymentStatus").dicData = res.data.data;
+        this.findObject(this.sellOption.column, "status").dicData = res.data.data;
+      });
+      this.capitalOption = await this.getColumnData(
+          this.getColumnName(223),
+          capitalOption
+      );
+      // this.sellOption.height = window.innerHeight - 330;
+      if (this.detailData.id) {
+        this.getDetail(this.detailData.id);
+      }
+      this.getAllWorkDicts()
     },
     methods: {
         getAllWorkDicts() {
@@ -505,7 +509,7 @@ export default {
     }
 };
 </script>
-  
+
 <style lang="scss" scoped>
 .page-crad ::v-deep .basic-container__card {
     height: 94.2vh;
@@ -548,4 +552,3 @@ export default {
     margin-bottom: 10px;
 }
 </style>
-  

+ 3 - 1
src/views/client/index.vue

@@ -380,7 +380,9 @@ export default {
     },
     uploadAfter(res, done, loading, column) {
       this.excelBox = false;
-      this.$message.success("导入成功!");
+      let myError=res.toString();//转字符串
+      myError=myError.replace("Error: ","") // 去掉前面的" Error: "
+      this.$message.success(myError);
       this.refreshChange();
       loading = false;
       done();

+ 13 - 1
src/views/client/js/optionList.js

@@ -425,14 +425,26 @@ export const sellOption = {
     },
     {
       label: "收款状态",
-      prop: "status",
+      prop: "actualPaymentStatus",
       type: 'select',
+      dataType:"string",
+      dicData:[],
+      props: {
+        label: "dictValue",
+        value: "dictKey"
+      },
       index: 9
     },
     {
       label: "送货状态",
       prop: "status",
       type: 'select',
+      dataType:"string",
+      dicData:[],
+      props: {
+        label: "dictValue",
+        value: "dictKey"
+      },
       search: true,
       index: 10
     },

+ 45 - 3
src/views/exportTrade/purchaseContract/index.vue

@@ -151,9 +151,16 @@
           dialogVisible = false;params={}
         }"
         top="1vh"
-        width="80%">
+        width="90%">
       <span>
-        <avue-crud :data="dialogData"
+        <el-row>
+          <el-col :span="6" style="padding: 0 10px">
+            <el-scrollbar>
+                <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" />
+            </el-scrollbar>
+          </el-col>
+          <el-col :span="18">
+            <avue-crud :data="dialogData"
                    :option="dialogOption"
                    :page.sync="dialogPage"
                    :search.sync="params"
@@ -192,6 +199,8 @@
             </el-button>
           </template>
         </avue-crud>
+          </el-col>
+        </el-row>
       </span>
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false;params={}">取 消</el-button>
@@ -203,10 +212,11 @@
 
 <script>
 import option from "./config/mainList.json";
-import {getList, remove, gainUser, listXS,generatePurchaseBill} from "@/api/exportTrade/purchaseContract";
+import {getList, remove, gainUser, listXS,generatePurchaseBill,listBYStatus} from "@/api/exportTrade/purchaseContract";
 import detailPage from "./detailsPage.vue";
 import { defaultDate } from "@/util/date";
 import { IntegerFormat } from "@/util/validate";
+import {customerParameter} from "@/enums/management-type";
 export default {
   name: "customerInformation",
   data() {
@@ -214,6 +224,33 @@ export default {
       search: {
         businesDate: defaultDate()
       },
+      treeData:[],
+      treeOption: {
+        nodeKey: "id",
+        lazy: true,
+        treeLoad: function (node, resolve) {
+          listBYStatus({
+          }).then(res => {
+            resolve(
+                res.data.data.map(item => {
+                  return {
+                    ...item,
+                    leaf: !item.hasChildren
+                  };
+                })
+            );
+          });
+        },
+        addBtn: false,
+        menu: false,
+        size: "small",
+        props: {
+          labelText: "标题",
+          label: "orderNo",
+          value: "id",
+          children: "children"
+        }
+      },
       dialogData: [],
       goodsListShow: [],
       goodsListSave: [],
@@ -353,6 +390,11 @@ export default {
     }
     },
   methods: {
+    nodeClick(data) {
+      this.params.pid = data.id
+      this.dialogPage.currentPage = 1;
+      this.dialogOnLoad(this.dialogPage);
+    },
     removeStagList(row, index) {
       this.goodsListSave.splice(row.$index, 1);
     },

+ 150 - 2
src/views/exportTrade/salesContract/detailsPage.vue

@@ -44,13 +44,64 @@
       </div>
     </div>
     <div class="customer-main">
+      <trade-card title="业务进程">
+        <div class="content" style="height: 10px;">
+          <div class="content-item">
+            <div class="card">
+              <div class="card-content">
+                <span class="card-content-num selected">{{ form.fudaPurchaseStatus?form.fudaPurchaseStatus:'待采购' }}</span>
+              </div>
+            </div>
+          </div>
+          <div class="divider"/>
+          <div class="content-item">
+            <div class="card">
+              <div class="card-content">
+                <span class="card-content-num" :class="form.productionScheduling?'selected':''">{{ form.productionScheduling?form.productionScheduling:'排产中' }}</span>
+              </div>
+            </div>
+          </div>
+          <div class="divider"/>
+          <div class="content-item">
+            <div class="card">
+              <div class="card-content">
+                <span class="card-content-num" :class="form.estimateGoodGoods?'selected':''">{{ form.estimateGoodGoods?form.estimateGoodGoods:'预计货好' }}</span>
+              </div>
+            </div>
+          </div>
+          <div class="divider"/>
+          <div class="content-item">
+            <div class="card">
+              <div class="card-content">
+                <span class="card-content-num" :class="form.documentaryStatus?'selected':''">{{ form.documentaryStatus?form.documentaryStatus:'待跟单' }}</span>
+              </div>
+            </div>
+          </div>
+          <div class="divider"/>
+          <div class="content-item">
+            <div class="card">
+              <div class="card-content">
+                <span class="card-content-num" :class="form.depositReceived?'selected':''">{{ form.depositReceived?form.depositReceived:'定金到账' }}</span>
+              </div>
+            </div>
+          </div>
+          <div class="divider"/>
+          <div class="content-item">
+            <div class="card">
+              <div class="card-content">
+                <span class="card-content-num" :class="form.balancePayment?'selected':''">{{ form.balancePayment?form.balancePayment:'尾款' }}</span>
+              </div>
+            </div>
+          </div>
+        </div>
+      </trade-card>
       <trade-card title="基础信息">
         <avue-form ref="form" class="trading-form" v-model="form" :option="option">
           <template slot="portOfLoad">
-            <port-info v-model="form.portOfLoad" :disabled="detailData.status == 1" />
+            <port-info v-model="form.portOfLoad" :disabled="detailData.status == 1"/>
           </template>
           <template slot="portOfDestination">
-            <port-info v-model="form.portOfDestination" :disabled="detailData.status == 1" />
+            <port-info v-model="form.portOfDestination" :disabled="detailData.status == 1"/>
           </template>
           <template slot-scope="{}" slot="corpIdLabel">
             <span style="color: #409EFF;cursor: pointer" @click.stop="khEdit('kh')">客户名称:</span>
@@ -2511,4 +2562,101 @@ export default {
 ::v-deep .select-component {
   display: flex !important;
 }
+
+.divider {
+  display: block;
+  height: 0px;
+  width: 100%;
+  border-top: 1px dashed #dcdfe6;
+}
+
+.content {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  height: 15vh;
+  width: 88vw;
+
+  .divider {
+    display: block;
+    height: 0px;
+    width: 100%;
+    border-top: 2px dashed #dcdfe6;
+  }
+
+  &-item {
+    margin-left: 1vw;
+    .card {
+      width: 130px;
+      display: flex;
+      align-items: center;
+
+      &-title {
+        width: 40px;
+        height: 40px;
+        text-align: center;
+        border-radius: 50%;
+        font-size: 20px;
+        font-weight: 600;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+
+        span {
+          line-height: 20px;
+        }
+      }
+
+      &-title1 {
+        color: #037fe1;
+        background-color: rgba(3, 127, 225, 0.15);
+      }
+
+      &-title2 {
+        color: #ffa21e;
+        background-color: rgba(255, 162, 30, 0.15);
+      }
+
+      &-title3 {
+        color: #fb5b60;
+        background-color: rgba(251, 91, 96, 0.15);
+      }
+
+      &-title4 {
+        color: #42bc6f;
+        background-color: rgba(66, 188, 111, 0.15);
+      }
+
+      &-title5 {
+        color: #14cde1;
+        background-color: rgba(52, 149, 161, 0.15);
+      }
+
+      &-title6 {
+        color: rgba(4, 66, 31, 0.63);
+        background-color: rgba(66, 188, 111, 0.15);
+      }
+
+      &-content {
+        padding-left: 1vw;
+        display: flex;
+        flex-direction: column;
+
+        &-num {
+          font-size: 16px;
+          font-weight: 500;
+          text-align: center;
+        }
+
+        &-text {
+          color: #909399;
+        }
+      }
+    }
+  }
+}
+
+.selected{
+  color: #1e9fff !important;
+}
 </style>

+ 4 - 1
src/views/product/detailsPage.vue

@@ -20,6 +20,7 @@
         </div>
       </div>
       <trade-card title="基础资料" style="margin-top: 60px">
+        {{form}}
         <avue-form ref="form" class="trading-form" v-model="form" :option="option">
           <template slot="goodsTypeId">
             <div style="display:flex;">
@@ -320,6 +321,9 @@ export default {
       this.getColumnName(218),
       optionList
     );
+    if (await this.detailData.goodsTypeId){
+      this.form.goodsTypeId = this.detailData.goodsTypeId;
+    }
     if (this.detailData.id) {
       this.getDetail(this.detailData.id);
     }
@@ -341,7 +345,6 @@ export default {
       this.getWorkDicts("unit").then(res => {
         this.unitList = res.data.data;
       });
-      // this.$refs.crud.init();
     },
     cellStyle() {
       return "padding:0;height:40px;";

+ 3 - 0
src/views/product/index.vue

@@ -247,6 +247,9 @@ export default {
       this.onLoad(this.page, this.search);
     },
     newAdd() {
+      this.detailData = {
+        goodsTypeId:this.search.goodsTypeId
+      };
       this.show = false;
     },
     saveGoodstype() {