فهرست منبع

Merge branch 'dev' of http://git.echepei.com/caojunjie/Smart_platform_ui into dev

qukaidi 3 سال پیش
والد
کامیت
355070fb47

+ 2 - 2
src/views/financialManagement/receiptSettle/receiptSettleDetailsPage.vue

@@ -589,8 +589,8 @@
         done(row);
       },
       rowCell(row,index){
-        // row.$cellEdit = !row.$cellEdit
-        this.$refs.crud.rowCell(row, index)
+        row.$cellEdit = !row.$cellEdit
+        // this.$refs.crud.rowCell(row, index)
       },
       rowDel(row,index){
         if (row.id) {

+ 11 - 2
src/views/importTrade/receipt/config/customerContact.json

@@ -42,6 +42,11 @@
       "name": "invoiceWeight",
       "type": "sum",
       "decimals": 6
+    },
+    {
+      "name": "grossWeight",
+      "type": "sum",
+      "decimals": 6
     }
   ],
   "column": [
@@ -134,7 +139,11 @@
       "prop": "grossWeight",
       "overHidden": true,
       "index": 9,
-      "width": 120
+      "width": 120,
+      "controls": false,
+      "cell": true,
+      "type": "number",
+      "precision":6
     },
     {
       "label": "单价",
@@ -212,4 +221,4 @@
       "width": 160
     }
   ]
-}
+}

+ 7 - 1
src/views/landTransportation/bulkCargo/detailPage.vue

@@ -95,7 +95,7 @@
           </el-button>
           <el-button
               type="warning"
-              v-if="goodsForm.status === 6 && (roleName.indexOf('司机') !== -1 || roleName.indexOf('admin') !== -1)"
+              v-if="goodsForm.status === 6 && (roleName.indexOf('司机') !== -1 || roleName.indexOf('admin') !== -1 || (roleName.indexOf('平台') !== -1 && roleName.indexOf('分管调度') !== -1))"
               size="small"
               @click="cancelScheduling('3')"
           >取消受理
@@ -2658,6 +2658,12 @@ export default {
                   if (!this.tableDataTwo[item].corpId) return this.$message.error('请选择卸货地点第' + Number(Number(item) + 1) + '行货运地点');
                 }
               }
+              // if (this.tableDataTwo.length === 0) {
+              //   return this.$message.error('请选择卸货地点')
+              // }
+              // if (this.tableData.length === 0) {
+              //   return this.$message.error('请选择卸货地点')
+              // }
               this.type = true
               let form = this.goodsForm
               delete this.goodsForm.status

+ 17 - 19
src/views/landTransportation/bulkCargo/index.vue

@@ -266,7 +266,7 @@
         <template slot="plateNo" slot-scope="{row}" v-if="!row.$cellEdit">
           <span class="el-button--text" style="cursor: pointer" @click="openTrack(row)">{{ row.plateNo }}</span>
         </template>
-        <template slot="corpNameSearch" slot-scope="{ row,index}">
+        <template slot="corpShortNameSearch" slot-scope="{ row,index}">
           <crop-select
               v-model="row.corpId"
               :corpType="'KH'"
@@ -304,9 +304,9 @@
                      @click.stop="$refs.crud.rowDel(row,index)">删除
           </el-button>
         </template>
-        <template slot="corpName" slot-scope="{row,index}">
+        <template slot="corpShortName" slot-scope="{row,index}">
           <span class="el-button--text" style="cursor: pointer"
-                @click.stop="rowCell(row,index)">{{ row.corpName }}</span>
+                @click.stop="rowCell(row,index)">{{ row.corpShortName }}</span>
         </template>
         <template slot="dispatchNumber" slot-scope="{row,index}">
           <span class="el-button--text" style="cursor: pointer"
@@ -474,14 +474,13 @@ export default {
             width: 90,
             index: 8,
             overHidden: true,
-            prop: 'fleetName',
+            prop: 'fleetShortName',
             searchProp: 'fleetId',
             type: 'select',
             cascader: ['plateNo'],
             props: {
               label: "cname",
-              value: "id",
-              res: "data.records"
+              value: "id"
             },
             filterable: true,
             search: true,
@@ -517,7 +516,7 @@ export default {
             prop: 'remarks',
           }, {
             label: '公司名称',
-            prop: 'corpName',
+            prop: 'corpShortName',
             overHidden: true,
             index: 14,
             width: 120,
@@ -608,6 +607,7 @@ export default {
             width: 80,
             index: 4,
             prop: 'dispatchNumber',
+            overHidden: true,
             search: true,
           }, {
             label: '装货地点',
@@ -626,15 +626,14 @@ export default {
             width: 90,
             index: 7,
             overHidden: true,
-            prop: 'fleetName',
+            prop: 'fleetShortName',
             searchProp: 'fleetId',
             type: 'select',
             dicData:[],
             cascader: ['plateNo'],
             props: {
               label: "cname",
-              value: "id",
-              res: "data.records"
+              value: "id"
             },
             filterable: true,
             search: true,
@@ -681,7 +680,7 @@ export default {
             prop: 'remarks',
           }, {
             label: '公司名称',
-            prop: 'corpName',
+            prop: 'corpShortName',
             overHidden: true,
             index: 15,
             width: 120,
@@ -771,6 +770,7 @@ export default {
             width: 80,
             index: 4,
             prop: 'dispatchNumber',
+            overHidden: true,
             search: true,
           }, {
             label: '装货地点',
@@ -789,14 +789,13 @@ export default {
             width: 90,
             index: 7,
             overHidden: true,
-            prop: 'fleetName',
+            prop: 'fleetShortName',
             searchProp: 'fleetId',
             type: 'select',
             cascader: ['plateNo'],
             props: {
               label: "cname",
-              value: "id",
-              res: "data.records"
+              value: "id"
             },
             filterable: true,
             search: true,
@@ -933,6 +932,7 @@ export default {
             width: 80,
             index: 4,
             prop: 'dispatchNumber',
+            overHidden: true,
             search: true,
           }, {
             label: '装货地点',
@@ -951,15 +951,13 @@ export default {
             width: 90,
             index: 7,
             overHidden: true,
-            prop: 'fleetName',
+            prop: 'fleetShortName',
             searchProp: 'fleetId',
             type: 'select',
             cascader: ['plateNo'],
-            dicUrl: "/api/blade-client/corpsdesc/list?size=500&current=1&corpType=CD",
             props: {
               label: "cname",
-              value: "id",
-              res: "data.records"
+              value: "id"
             },
             filterable: true,
             search: true,
@@ -1054,7 +1052,7 @@ export default {
     this.option = await this.getColumnData(this.getColumnName(85.7), this.optionList);
     this.key++
     fleetList().then(res=>{
-      this.findObject(this.option.column, "fleetName").dicData = res.data.data
+      this.findObject(this.option.column, "fleetShortName").dicData = res.data.data
     })
     getSalesman().then(res=>{
       this.findObject(this.option.column, "salesmanName").dicData = res.data.data

+ 68 - 0
src/views/landTransportation/bulkReportAnalysis/index.vue

@@ -23,6 +23,13 @@
         <template slot="menuLeft">
           <el-button type="info" size="small" @click="outExport" icon="el-icon-download">导出</el-button>
         </template>
+        <template slot="corpShortNameSearch" slot-scope="{ row,index}">
+          <crop-select
+              v-model="row.corpId"
+              :corpType="'KH'"
+              :label="'shortName'"
+          ></crop-select>
+        </template>
         <template slot-scope="{row}" slot="fleetId">
           <span>{{ row.fleetName }}</span>
         </template>
@@ -177,6 +184,7 @@ import {
 } from "@/api/landTransportation";
 import {getToken} from "@/util/auth";
 import {gaude} from "@/api/gaude";
+import {getSalesman} from "@/api/landTransportation/bulkCargo";
 
 export default {
   name: "index",
@@ -370,6 +378,16 @@ export default {
           prop: 'salesmanName',
           index: 3,
           width: 70,
+          searchProp: 'salesman',
+          search: true,
+          overHidden: true,
+          filterable: true,
+          type: "select",
+          dicUrl: "/api/blade-user/userList?roleAlias=业务员",
+          props: {
+            label: "realName",
+            value: "id"
+          }
         }, {
           label: '物流运输',
           prop: 'dispatchDept',
@@ -394,12 +412,14 @@ export default {
           width: 80,
           index: 5,
           overHidden: true,
+          search: true,
           prop: 'dispatchNumber'
         }, {
           label: '合同号',
           width: 90,
           index: 6,
           overHidden: true,
+          search: true,
           prop: 'contractNo'
         }, {
           label: '装货地点',
@@ -421,6 +441,15 @@ export default {
           prop: 'fleetShortName',
           index: 10,
           width: 90,
+          searchProp: 'fleetId',
+          type: 'select',
+          cascader: ['plateNo'],
+          props: {
+            label: "cname",
+            value: "id"
+          },
+          filterable: true,
+          search: true,
           overHidden: true,
         }, {
           label: '车号',
@@ -569,6 +598,16 @@ export default {
           prop: 'salesmanName',
           index: 3,
           width: 70,
+          searchProp: 'salesman',
+          search: true,
+          overHidden: true,
+          filterable: true,
+          type: "select",
+          dicUrl: "/api/blade-user/userList?roleAlias=业务员",
+          props: {
+            label: "realName",
+            value: "id"
+          }
         }, {
           label: '运输调度',
           prop: 'dispatcherName',
@@ -580,12 +619,14 @@ export default {
           width: 80,
           index: 5,
           overHidden: true,
+          search: true,
           prop: 'dispatchNumber'
         }, {
           label: '合同号',
           width: 90,
           index: 6,
           overHidden: true,
+          search: true,
           prop: 'contractNo'
         }, {
           label: '装货地点',
@@ -607,6 +648,15 @@ export default {
           prop: 'fleetShortName',
           index: 10,
           width: 90,
+          searchProp: 'fleetId',
+          type: 'select',
+          cascader: ['plateNo'],
+          props: {
+            label: "cname",
+            value: "id"
+          },
+          filterable: true,
+          search: true,
           overHidden: true,
         }, {
           label: '车号',
@@ -791,12 +841,14 @@ export default {
           width: 80,
           index: 4,
           overHidden: true,
+          search: true,
           prop: 'dispatchNumber'
         }, {
           label: '合同号',
           width: 90,
           index: 5,
           overHidden: true,
+          search: true,
           prop: 'contractNo'
         }, {
           label: '装货地点',
@@ -818,6 +870,15 @@ export default {
           prop: 'fleetShortName',
           index: 9,
           width: 90,
+          searchProp: 'fleetId',
+          type: 'select',
+          cascader: ['plateNo'],
+          props: {
+            label: "cname",
+            value: "id"
+          },
+          filterable: true,
+          search: true,
           overHidden: true,
         }, {
           label: '车号',
@@ -865,6 +926,13 @@ export default {
     }
     this.goodsOptionCrud = await this.getColumnData(this.getColumnName(88.3), this.optionList);
     this.collectionOption = await this.getColumnData(this.getColumnName(88.2), this.collectionOptionBackup);
+    getSalesman().then(res=>{
+      this.findObject(this.goodsOptionCrud.column, "salesmanName").dicData = res.data.data
+    })
+
+    fleetList().then(res=>{
+      this.findObject(this.option.column, "fleetShortName").dicData = res.data.data
+    })
     this.key++
     this.calculateHu()
   },

+ 7 - 0
src/views/landTransportation/reportAnalysis/index.vue

@@ -32,6 +32,13 @@
               row.billNo
             }}</span>
         </template>
+        <template slot="corpShortNameSearch" slot-scope="{ row,index}">
+          <crop-select
+              v-model="row.corpId"
+              :corpType="'KH'"
+              :label="'shortName'"
+          ></crop-select>
+        </template>
         <template slot="corpName" slot-scope="{row,index}">
           <span class="el-button--text" style="cursor: pointer"
                 @click.stop="celJump(row,index)">{{ row.corpName }}</span>

+ 30 - 15
src/views/purchase/contract/detailsPage.vue

@@ -9,15 +9,14 @@
           <el-button type="primary" size="small" v-if="viewDisabled" class="el-button--small-yh "
             :loading="buttonLoading" @click.stop="openEdit()">编辑
           </el-button>
-
           <el-dropdown style="padding: 0 6px;line-height: 0">
-            <el-button type="primary" size="small" :loading="buttonLoading" :disabled="!form.id || viewDisabled">
+            <el-button type="primary" size="small" :loading="buttonLoading" :disabled="!form.id">
               审批处理<i class="el-icon-arrow-down el-icon--right"></i>
             </el-button>
             <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item :loading="buttonLoading" @click.native="auditCheck">提交审批</el-dropdown-item>
-              <el-dropdown-item @click.native="checkScheduleDialog = true">审批进度</el-dropdown-item>
-              <el-dropdown-item disabled>撤销审批</el-dropdown-item>
+              <el-dropdown-item :loading="buttonLoading" :disabled="viewDisabled" @click.native="auditCheck">提交审批</el-dropdown-item>
+              <el-dropdown-item :disabled="form.status == 0" @click.native="checkScheduleDialog = true">审批进度</el-dropdown-item>
+<!--              <el-dropdown-item :disabled="form.status != 1 && form.id" @click.native="repealCancel">撤销审批</el-dropdown-item>-->
             </el-dropdown-menu>
           </el-dropdown>
 
@@ -280,7 +279,7 @@ import _ from "lodash";
 import { isPercentage, roundNumbers } from "@/util/validate";
 import billApplication from "@/components/bill/billApplication";
 //商品详情接口
-import { corpsattn } from "@/api/basicData/configuration"
+import {corpsattn} from "@/api/basicData/configuration"
 import { contrastObj, contrastList, contrastList2 } from "@/util/contrastData";
 import ApplyPayment from "../../../components/finance/applyPayment";
 import financialAccount from "../../../components/finance/financialAccount";
@@ -971,15 +970,6 @@ export default {
         // if(receivableList.length!=0 || copeWithList.length!=0 ){
         //   this.$confirm("有未提交的费用,系统将自动提交,确定要提交吗??", {
         //     confirmButtonText: "确定",
-        // 玛卡巴卡
-        // 阿卡哇卡
-        // 米卡玛卡呣
-        // 玛卡巴卡
-        // 阿巴雅卡
-        // 伊卡阿卡噢
-        // 哈姆达姆阿卡嗙
-        // 咿呀呦
-        // 玛卡巴卡阿卡哇卡
         //     cancelButtonText: "取消",
         //     type: "warning"
         //   }).then(()=>{
@@ -1079,6 +1069,24 @@ export default {
         // }
       }
     },
+    repealCancel(){
+      this.$confirm("您确定撤回此次申请吗?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.buttonLoading = true
+        const data = {
+          id : this.form.id,
+          checkType: 'cgqh',
+          pageLabel:"采购订单",
+          checkFlag: 1,
+        }
+        this.viewDisabled = true
+        this.approverDisabled = true
+        this.buttonLoading = false
+      })
+    },
     //新增商品明细保存触发
     rowSave(row, done, loading) {
       // this.contactsData.push(row)
@@ -1289,6 +1297,13 @@ export default {
         this.$refs.crudContact.rowCellAdd(params)
       })
     },
+    uploadError(err, file, fileList){
+      let myError = err.toString();
+      myError= myError.replace("Error: ","")
+      myError= JSON.parse(myError);
+      this.$message.error(myError.msg)
+      this.openFullScreen(true)
+    },
     openFullScreen(res, text) {
       const loading = this.$loading({
         lock: true,

+ 2 - 1
src/views/purchase/contract/index.vue

@@ -63,6 +63,7 @@
             type="text"
             icon="el-icon-delete"
             size="small"
+            v-if="scope.row.status == 0 || scope.row.status == 4"
             @click.stop="rowDel(scope.row,scope.index)"
           >删除
           </el-button>
@@ -184,7 +185,7 @@ export default {
               type: "success",
               message: "操作成功!"
             });
-            this.onLoad(this.page );
+            this.onLoad(this.page);
           }
         })
       })

+ 16 - 6
src/views/salesManagement/salesContract/detailsPage.vue

@@ -193,7 +193,7 @@
                 :disabled="selection.length ==0|| form.status!=1 " @click="generateShipmentD">生成发货单
               </el-button>-->
               <el-button type="warning" size="small" :loading="buttonLoading"
-                          @click="generateShipmentD">生成发货单
+                          @click="generateShipmentD" :disabled="selection.length === 0">生成发货单
               </el-button>
               <!--              <el-button type="info"
                          size="small"
@@ -278,6 +278,8 @@ import billApplication from "@/components/bill/billApplication";
 import checkSchedule from "../../../components/check/checkSchedule";
 import check from "@/components/check/check";
 import { pleaseCheck } from "@/api/basicData/configuration"
+import {getParities} from "@/api/basicData/customerInquiry";
+import {dateFormat} from "@/util/date";
 
 export default {
   name: "detailsPage",
@@ -642,11 +644,13 @@ export default {
     },
     //带出汇率
     currencyChange(value) {
-      this.currencyDic.forEach(item => {
-        if (item.dictValue === value) {
-          this.$set(this.form, "exchangeRate", item.remark)
-        }
-      })
+      getParities({
+        currency: value,
+        businesDate: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00"
+      }).then(res => {
+        const data = res.data.data;
+        this.$set(this.form, "exchangeRate", data.receivableParities)
+      });
     },
     //单价
     priceChange(row) {
@@ -884,6 +888,12 @@ export default {
             if (orderFeesList[i].orderQuantity == 0) {
               return this.$message.error(`请正确输入第${i + 1}行的件数`);
             }
+            if (!orderFeesList[i].exchangeRate) {
+              return this.$message.error(`请输入第${i + 1}行的汇率`);
+            }
+            if (!orderFeesList[i].currency) {
+              return this.$message.error(`请输入第${i + 1}行的币别`);
+            }
           }
           let orderUpLoadList = this.$refs.uploadFile.submitData();