caojunjie vor 3 Jahren
Ursprung
Commit
e1edb87065

+ 16 - 1
src/api/landTransportation/bulkCargo.js

@@ -13,7 +13,7 @@ export function saveDelegationList(data) {
     return request({
         url: '/api/blade-land/order/submitBulkLoad',
         method: 'post',
-        data: data
+        params: data
     })
 }
 // 列表查询
@@ -98,3 +98,18 @@ export function saveFile(data) {
         data:data
     })
 }
+//获取总数
+export function totalList() {
+    return request({
+        url: '/api/blade-land/order/BulkLoadCount',
+        method: 'get'
+    })
+}
+//修改状态
+export function statusBulkLoad(data) {
+    return request({
+        url: '/api/blade-land/order/statusBulkLoad',
+        method: 'get',
+        params:data
+    })
+}

+ 22 - 16
src/components/crop-select/main.vue

@@ -1,19 +1,21 @@
 <template>
   <div>
     <div style="display:flex">
-      <el-select v-if="gysType == 'CK'" size="small" v-model="value" placeholder="请选择" @input="$emit('balabala', value)"
-        :disabled="disabled" filterable clearable style="width:100%" :multiple="multiple ? multiple : false"
-        :collapse-tags="collapseTags ? collapseTags : false" @change="corpChange">
+      <slot v-if="slot" name="slot"></slot>
+      <span v-else style="width: 100%;">
+        <el-select v-if="gysType == 'CK'" size="small" v-model="value" placeholder="请选择" @input="$emit('balabala', value)"
+                   :disabled="disabled" filterable clearable style="width:100%" :multiple="multiple ? multiple : false"
+                   :collapse-tags="collapseTags ? collapseTags : false" @change="corpChange">
         <el-option v-for="item in corpList" :key="item.id" :label="item.code" :value="item.id">
         </el-option>
       </el-select>
-      <el-select v-else size="small" v-model="value" placeholder="请选择" @input="$emit('balabala', value)"
-        :disabled="disabled" filterable clearable style="width:100%" @clear="clear"
-        :multiple="multiple ? multiple : false" :collapse-tags="collapseTags ? collapseTags : false"
-        @change="corpChange">
+        <el-select v-else size="small" v-model="value" placeholder="请选择" @input="$emit('balabala', value)"
+                 :disabled="disabled" filterable clearable style="width:100%" @clear="clear"
+                 :multiple="multiple ? multiple : false" :collapse-tags="collapseTags ? collapseTags : false"
+                 @change="corpChange">
         <template v-if="zhKey">
           <el-option v-for="item in corpList" :key="item.id" :label="label ? item[label] : item.cname"
-            :value="item.cname">
+                     :value="item.cname">
           </el-option>
         </template>
         <template v-else>
@@ -21,6 +23,7 @@
           </el-option>
         </template>
       </el-select>
+      </span>
       <el-button icon="el-icon-search" size="mini" v-if="label != 'shortName'" :disabled="disabled"
         @click="openDialog()"></el-button>
     </div>
@@ -99,6 +102,7 @@ export default {
   props: {
     value: String,
     disabled: Boolean,
+    slot: Boolean,
     cropIndex: Number,
     corpType: String,
     multiple: Boolean,
@@ -117,14 +121,16 @@ export default {
     this.tableOption = await this.getColumnData(this.getColumnName(51), option);
     let userObj = JSON.parse(localStorage.getItem("saber-userInfo")).content;
     this.title = getCustomerName(this.corpType);
-    allCropList({
-      corpType: getCustomerCode(this.corpType),
-      adminProfiles: userObj.role_name != "admin" ? userObj.user_id : null,
-      corpsTypeName: this.treeType == "CK" ? "货代和物流" : null,
-      belongtocompany: this.belongtocompany
-    }).then(res => {
-      this.corpList = res.data.data;
-    });
+    if (!this.slot){
+      allCropList({
+        corpType: getCustomerCode(this.corpType),
+        adminProfiles: userObj.role_name != "admin" ? userObj.user_id : null,
+        corpsTypeName: this.treeType == "CK" ? "货代和物流" : null,
+        belongtocompany: this.belongtocompany
+      }).then(res => {
+        this.corpList = res.data.data;
+      });
+    }
   },
   mounted() { },
   methods: {

+ 5 - 4
src/components/upload/index.vue

@@ -451,10 +451,11 @@ export default {
     },
     //修改上传成功
     onSuccessTwo(response) {
-      this.form.fileName = response.data.originalName;
-      this.form.url = response.data.link;
-      this.data[this.form.$index] = this.form;
-      this.excelTwo = false;
+      console.log(response)
+      // this.form.fileName = response.data.originalName;
+      // this.form.url = response.data.link;
+      // this.data[this.form.$index] = this.form;
+      // this.excelTwo = false;
     },
     //单行上传
     singleLineUpload(row) {

+ 3 - 0
src/enums/column-name.js

@@ -315,6 +315,9 @@ const columnName = [{
   code: 85.7,
   name: '散货-列表'
 }, {
+  code: 85.71,
+  name: '散货-附件'
+}, {
   code: 86,
   name: '调度'
 }, {

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

@@ -1270,6 +1270,21 @@ export default [{
     component: () => import( /* webpackChunkName: "views" */ '@/views/landTransportation/dispatchingCars/index')
   }]
 },
+//派车
+{
+  path: '/landTransportation/bulkCargo/index',
+  component: Layout,
+  hidden: true,
+  children: [{
+    path: '/landTransportation/bulkCargo/index',
+    name: '散货',
+    meta: {
+      i18n: '/landTransportation/bulkCargo/index',
+      keepAlive: true,
+    },
+    component: () => import( /* webpackChunkName: "views" */ '@/views/landTransportation/bulkCargo/index')
+  }]
+},
 //陆运台账
 {
   path: '/landTransportation/reportAnalysis/index',

+ 2 - 2
src/styles/tags.scss

@@ -1,7 +1,7 @@
 
 
 .avue-tags {
-    user-select: none; 
+    user-select: none;
     position: relative;
     padding: 0 10px;
     // margin-bottom: 10px;
@@ -106,4 +106,4 @@
           color: #606266;
         }
       }
-}
+}

+ 1 - 1
src/views/agreementManagement/storageFeeAgreement/index.vue

@@ -1955,7 +1955,7 @@ export default {
   }
 }
 </script>
-<style lang="scss">
+<style lang="scss" scoped>
 .avue-crud__dialog__header {
   display: -webkit-box;
   display: -ms-flexbox;

+ 179 - 104
src/views/landTransportation/bulkCargo/detailPage.vue

@@ -59,6 +59,37 @@
           </el-button>
           <el-button
               type="success"
+              v-if="goodsForm.status > 0 && goodsForm.status !== 5"
+              size="small"
+              :loading="type"
+              v-show="
+              (this.roleName.indexOf('客户') !== -1 && goodsForm.status < 2)
+            || (this.roleName.indexOf('车队') !== -1 && goodsForm.status === 2)
+            || (this.roleName.indexOf('司机') !== -1 && (goodsForm.status === 3||goodsForm.status === 6||goodsForm.status === 4))
+            || (this.roleName.indexOf('平台') !== -1
+            ||this.roleName.indexOf('经理') !== -1
+            ||this.roleName.indexOf('部门经理') !== -1
+            ||this.roleName.indexOf('总经理') !== -1)"
+              @click="modifyState"
+          >
+            {{ goodsForm.status === 1 ? '调度' : goodsForm.status === 2 ? '派车' : goodsForm.status === 3 ? '受理' : goodsForm.status === 4 ? '确认完工' : goodsForm.status === 6 ? '确认到厂' : goodsForm.status === 7 ? '提箱' : '未知状态:' + goodsForm.status }}
+          </el-button>
+          <el-button
+              type="warning"
+              v-if="goodsForm.status === 2"
+              size="small"
+              @click="cancelScheduling(false)"
+          >取消调度
+          </el-button>
+          <el-button
+              type="warning"
+              v-if="goodsForm.status === 3"
+              size="small"
+              @click="cancelScheduling(true)"
+          >取消派车
+          </el-button>
+          <el-button
+              type="success"
               v-if="goodsForm.status === 1"
               size="small"
               @click="submit(false)"
@@ -374,6 +405,7 @@
                 format="yyyy-MM-dd HH:mm"
                 value-format="yyyy-MM-dd HH:mm:ss"
                 v-model="scope.row.freightTime"
+                :disabled="goodsForm.status !== 0"
                 type="datetime"
                 style="width: 100%;"
                 size="small"
@@ -391,9 +423,21 @@
             <crop-select
                 :corpType="'GC'"
                 :disabled="goodsForm.status !== 0"
+                :slot="true"
                 v-model="scope.row.corpId"
                 @clear="clear(scope.row)"
-                @getCorpData="(row)=>{withAddress(row,scope)}"/>
+                @getCorpData="(row)=>{withAddress(row,scope)}">
+              <template slot="slot">
+                <el-select :disabled="goodsForm.status !== 0" style="width: 100%;" filterable v-model="scope.row.corpId" size="small" placeholder="请选择">
+                  <el-option
+                      v-for="item in corpList"
+                      :key="item.id"
+                      :label="item.cname"
+                      :value="item.id">
+                  </el-option>
+                </el-select>
+              </template>
+            </crop-select>
           </template>
         </el-table-column>
         <el-table-column
@@ -498,7 +542,7 @@
                 </div>
               </el-tooltip>
               <el-tooltip class="item" effect="dark" content="向下移动" placement="right"
-                          v-if="scope.$index < tableDataTwo.length-1">
+                          v-if="scope.$index < tableData.length-1">
                 <div class="single" style="margin-top: -5px">
                   <el-button
                       type="text"
@@ -517,7 +561,8 @@
             label="操作"
             width="80">
           <template slot-scope="{row, index}">
-            <el-button type="text" size="small" icon="el-icon-s-order" @click="annexOpen(row, index,true)">附 件</el-button>
+            <el-button type="text" size="small" icon="el-icon-s-order" @click="annexOpen(row, index,true)">附 件
+            </el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -579,6 +624,7 @@
                 value-format="yyyy-MM-dd HH:mm:ss"
                 v-model="scope.row.freightTime"
                 type="datetime"
+                :disabled="goodsForm.status !== 0"
                 style="width: 100%;"
                 size="small"
                 placeholder="选择货运日期">
@@ -594,10 +640,22 @@
           <template slot-scope="scope">
             <crop-select
                 :corpType="'GC'"
+                :slot="true"
                 :disabled="goodsForm.status !== 0"
                 v-model="scope.row.corpId"
                 @clear="clear(scope.row)"
-                @getCorpData="(row)=>{withAddressTwo(row,scope)}"/>
+                @getCorpData="(row)=>{withAddressTwo(row,scope)}">
+              <template slot="slot">
+                <el-select :disabled="goodsForm.status !== 0" style="width: 100%;" filterable v-model="scope.row.corpId" size="small" placeholder="请选择">
+                  <el-option
+                      v-for="item in corpList"
+                      :key="item.id"
+                      :label="item.cname"
+                      :value="item.id">
+                  </el-option>
+                </el-select>
+              </template>
+            </crop-select>
           </template>
         </el-table-column>
         <el-table-column
@@ -742,56 +800,15 @@
             label="操作"
             width="80">
           <template slot-scope="{row, index}">
-            <el-button type="text" size="small" icon="el-icon-s-order" @click="annexOpen(row, index,true)">附 件</el-button>
+            <el-button type="text" size="small" icon="el-icon-s-order" @click="annexOpen(row, index,true)">附 件
+            </el-button>
           </template>
         </el-table-column>
       </el-table>
     </basic-container>
     <containerTitle title="车辆信息"></containerTitle>
     <basic-container>
-      <avue-form :option="goodsOptionFormTwo" v-model="goodsForm">
-        <template slot-scope="scope" slot="corpId">
-          <crop-select
-              :disabled="goodsForm.status !== 0"
-              v-model="goodsForm.corpId"
-              @getCorpData="getCorpData"
-              :corpType="'KH'"
-          ></crop-select>
-        </template>
-        <template slot-scope="scope" slot="station">
-          <port-info
-              v-model="goodsForm.station"
-              :disabled="goodsForm.status !== 0"/>
-        </template>
-        <template slot-scope="scope" slot="salesman">
-          <el-select v-model="goodsForm.salesman" placeholder="请选择" :disabled="goodsForm.status !== 0">
-            <el-option
-                v-for="item in salesmanList"
-                :key="item.id"
-                :label="item.realName"
-                :value="item.id">
-            </el-option>
-          </el-select>
-        </template>
-        <template slot-scope="scope" slot="agentId">
-          <crop-select
-              :disabled="goodsForm.status !== 0"
-              v-model="goodsForm.agentId"
-          ></crop-select>
-        </template>
-        <template slot-scope="scope" slot="polId">
-          <port-info
-              :type="'id'"
-              v-model="goodsForm.polId"
-              :disabled="goodsForm.status !== 0"/>
-        </template>
-        <template slot-scope="scope" slot="podId">
-          <port-info
-              :type="'id'"
-              v-model="goodsForm.podId"
-              :disabled="goodsForm.status !== 0"/>
-        </template>
-      </avue-form>
+      <avue-form :option="goodsOptionFormTwo" v-model="goodsForm"></avue-form>
     </basic-container>
     <span v-if="false">
       <containerTitle title="车辆信息"></containerTitle>
@@ -810,11 +827,11 @@
       </avue-crud>
     </basic-container>
     </span>
-    <containerTitle title="杂费明细"></containerTitle>
-    <basic-container>
+    <containerTitle title="杂费明细" v-if="this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('客户') !== -1"></containerTitle>
+    <basic-container v-if="this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('客户') !== -1">
       <el-tabs v-model="activeIndex" @tab-click="handleSelect">
         <el-tab-pane label="应收" name="1"></el-tab-pane>
-        <el-tab-pane label="应付" name="2"></el-tab-pane>
+        <el-tab-pane label="应付" name="2" v-if="this.roleName.indexOf('平台') !== -1"></el-tab-pane>
       </el-tabs>
       <avue-crud
           v-if="activeIndex === '1'"
@@ -822,6 +839,7 @@
           :option="collectionOption"
           :key="key"
           ref="collection"
+          :disabled="goodsForm.status === 5"
           @resetColumn="resetColumnCollection"
           @saveColumn="saveColumnCollection"
           @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"
@@ -831,7 +849,7 @@
           <crop-select
               v-if="row.$cellEdit"
               v-model="row.corpId"
-              :disabled="goodsForm.status !== 0"
+              :disabled="goodsForm.status === 5"
               @getCorpData="(data)=>{getfleetId(data,row)}"
           ></crop-select>
           <span v-else>{{ row.corpName }}</span>
@@ -840,7 +858,7 @@
           <breakdown-select
               v-if="row.$cellEdit"
               v-model="row.feeId"
-              :disabled="goodsForm.status !== 0"
+              :disabled="goodsForm.status === 5"
               @selectValue="(value) => selectValue(value,row)"
               :configuration="breakConfiguration">
           </breakdown-select>
@@ -850,7 +868,8 @@
           <el-button
               type="text"
               size="small"
-              :disabled="goodsForm.status === 1"
+              v-if="this.roleName.indexOf('平台') !== -1"
+              :disabled="goodsForm.status === 5"
               :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
               @click="rowCell(row,index)"
           >{{ row.$cellEdit ? '保存' : '编辑' }}
@@ -858,7 +877,8 @@
           <el-button type="text"
                      icon="el-icon-delete"
                      size="small"
-                     :disabled="goodsForm.status === 1"
+                     v-if="this.roleName.indexOf('平台') !== -1"
+                     :disabled="goodsForm.status === 5"
                      @click="$refs.collection.rowDel(row,index)"
           >删除
           </el-button>
@@ -874,7 +894,8 @@
           <el-button
               type="primary"
               icon="el-icon-plus"
-              :disabled="goodsForm.status !== 0"
+              v-if="this.roleName.indexOf('平台') !== -1"
+              :disabled="goodsForm.status === 5"
               @click="addRowCollection"
               size="small">录入明细
           </el-button>
@@ -896,7 +917,7 @@
           <crop-select
               v-if="row.$cellEdit"
               v-model="row.corpId"
-              :disabled="goodsForm.status === 1"
+              :disabled="goodsForm.status === 5"
               @getCorpData="(data)=>{getfleetId(data,row)}"
           ></crop-select>
           <span v-else>{{ row.corpName }}</span>
@@ -905,7 +926,7 @@
           <breakdown-select
               v-if="row.$cellEdit"
               v-model="row.feeId"
-              :disabled="goodsForm.status !== 0"
+              :disabled="goodsForm.status === 5"
               @selectValue="(value) => selectValue(value,row)"
               :configuration="breakConfiguration"
           >
@@ -916,7 +937,7 @@
           <el-button
               type="text"
               size="small"
-              :disabled="goodsForm.status === 1"
+              :disabled="goodsForm.status === 5"
               :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
               @click="paymentRowCell(row,index)"
           >{{ row.$cellEdit ? '保存' : '编辑' }}
@@ -924,7 +945,7 @@
           <el-button type="text"
                      icon="el-icon-delete"
                      size="small"
-                     :disabled="goodsForm.status === 1"
+                     :disabled="goodsForm.status === 5"
                      @click="$refs.payment.rowDel(row,index)"
           >删除
           </el-button>
@@ -940,7 +961,7 @@
           <el-button
               type="primary"
               icon="el-icon-plus"
-              :disabled="goodsForm.status === 1"
+              :disabled="goodsForm.status === 5"
               @click="addRowPayment"
               size="small">录入明细
           </el-button>
@@ -950,6 +971,7 @@
     <containerTitle title="上传附件"></containerTitle>
     <c-upload
         typeUpload="CD"
+        :basic="false"
         deleteUrl="/api/blade-client/common-file/remove"
         :data="orderFilesList"
         display
@@ -966,7 +988,8 @@
           :basic="true"
           deleteUrl="/api/blade-client/common-file/remove"
           :data="orderList"
-          :enumerationValue="76"
+          :disabled="goodsForm.status !== 0"
+          :enumerationValue="85.71"
       ></c-upload>
       <span slot="footer" class="dialog-footer">
           <el-button @click="enclosure = false" size="small">取 消</el-button>
@@ -984,6 +1007,7 @@ import {
   detailDelegationList,
   removeCollection,
   saveSaveList,
+  statusBulkLoad,
   addressList, cancelSubmission, getCorp, getSalesman, getFee, changeSubmission, validChange, tRemove, saveFile
 } from "@/api/landTransportation/bulkCargo";
 import {getDeptTree} from "@/api/system/dept";
@@ -993,6 +1017,7 @@ import {gaude, location} from "@/api/gaude";
 import trackPlayback from "@/components/trackPlayback"
 import {fleetList, telephone} from "@/api/landTransportation";
 import {getDictionary} from "@/api/system/dictbiz";
+import {allCropList} from "@/api/basicData/customerInformation";
 
 export default {
   comments: {
@@ -1019,6 +1044,7 @@ export default {
       enclosure: false,
       orderList: [],
       goodsForm: {},
+      corpList: [],
       modelKey: 1,
       orderFilesList: [],
       salesmanList: [],
@@ -1627,6 +1653,8 @@ export default {
         }, {
           label: '车号',
           prop: 'plateNo',
+          filterable: true,
+          allowCreate: true,
           cascader: ['driverId'],
           type: "select",
           dicUrl: "/api/blade-client/land-vehicle/vehicle-list?fleetId={{key}}",
@@ -1638,6 +1666,8 @@ export default {
           label: '司机',
           prop: 'driverId',
           type: "select",
+          filterable: true,
+          allowCreate: true,
           dicUrl: "/api/blade-client/land-driver/driver-list?plateNo={{key}}",
           props: {
             label: "name",
@@ -1834,17 +1864,17 @@ export default {
           width: 200,
           overHidden: true,
           prop: 'corpId',
-          index:1
+          index: 1
         }, {
           label: '车号',
           prop: 'plateNo',
-          index:2
+          index: 2
         }, {
           label: '费用名称',
           slot: true,
           width: 200,
           prop: 'feeId',
-          index:3
+          index: 3
         }, {
           label: '计价单位',
           cell: true,
@@ -1855,28 +1885,28 @@ export default {
             label: "dictValue",
             value: "dictKey"
           },
-          index:4
+          index: 4
         }, {
           label: '单价',
           cell: true,
           prop: 'price',
-          index:5
+          index: 5
         }, {
           label: '数量',
           cell: true,
           prop: 'quantity',
-          index:6
+          index: 6
         }, {
           label: '金额',
           cell: true,
           prop: 'amount',
-          index:7
+          index: 7
         }, {
           // label: '税率(默认6)',
           label: '税率',
           cell: true,
           prop: 'taxRate',
-          index:8
+          index: 8
         }, {
           label: '币别',
           cell: true,
@@ -1887,7 +1917,7 @@ export default {
             label: "dictValue",
             value: "dictKey"
           },
-          index:9
+          index: 9
         }]
       },
       paymentList: [],
@@ -1927,17 +1957,17 @@ export default {
           slot: true,
           overHidden: true,
           prop: 'corpId',
-          index:1
+          index: 1
         }, {
           label: '车号',
           prop: 'plateNo',
-          index:2
+          index: 2
         }, {
           label: '费用名称',
           slot: true,
           width: 200,
           prop: 'feeId',
-          index:3
+          index: 3
         }, {
           label: '计价单位',
           width: 100,
@@ -1949,28 +1979,28 @@ export default {
             label: "dictValue",
             value: "dictKey"
           },
-          index:4
+          index: 4
         }, {
           label: '数量',
           cell: true,
           prop: 'quantity',
-          index:5
+          index: 5
         }, {
           label: '单价',
           cell: true,
           prop: 'price',
-          index:6
+          index: 6
         }, {
           label: '金额',
           cell: true,
           prop: 'amount',
-          index:7
+          index: 7
         }, {
           // label: '税率(默认6)',
           label: '税率',
           cell: true,
           prop: 'taxRate',
-          index:8
+          index: 8
         }, {
           label: '币别',
           cell: true,
@@ -1981,12 +2011,17 @@ export default {
             label: "dictValue",
             value: "dictKey"
           },
-          index:9
+          index: 9
         }]
       }
     };
   },
   async created() {
+    allCropList({
+      corpType: 'GC'
+    }).then(res => {
+      this.corpList = res.data.data
+    })
     getDictionary({code: 'package_type'}).then(res => {
       this.packageType = res.data.data
     })
@@ -1994,7 +2029,7 @@ export default {
       fleetList({fleetId: this.goodsForm.fleetId}).then(res => {
         for (let item in res.data.data) {
           if (data.value === res.data.data[item].plateNo) {
-            this.goodsForm.driver = res.data.data[item].driverId
+            this.goodsForm.driverId = res.data.data[item].driverId
             this.goodsForm.driverName = res.data.data[item].driverName
             this.goodsForm.driverTel = res.data.data[item].tel
           }
@@ -2070,7 +2105,7 @@ export default {
           this.entrustList = res.data.data.itemList
           this.goodsList = res.data.data.itemList
           this.vehicleList = res.data.data.orderItemList
-          this.orderFilesList = res.data.data.fileList
+          this.orderFilesList = res.data.data.fileList || []
           if (res.data.data.orderFeeList.length > 0) {
             res.data.data.orderFeeList.forEach(item => {
               if (item.type == 1) {
@@ -2103,7 +2138,7 @@ export default {
           this.entrustList = res.data.data.itemList
           this.goodsList = res.data.data.itemList
           this.vehicleList = res.data.data.orderItemList
-          this.orderFilesList = res.data.data.fileList
+          this.orderFilesList = res.data.data.fileList || []
           if (res.data.data.orderFeeList.length > 0) {
             res.data.data.orderFeeList.forEach(item => {
               if (item.type == 1) {
@@ -2323,7 +2358,7 @@ export default {
         this.entrustList = res.data.data.itemList
         this.goodsList = res.data.data.itemList
         this.vehicleList = res.data.data.orderItemList
-        this.orderFilesList = res.data.data.fileList
+        this.orderFilesList = res.data.data.fileList || []
         if (res.data.data.orderFeeList) {
           if (res.data.data.orderFeeList.length > 0) {
             this.collectionList = []
@@ -2492,24 +2527,27 @@ export default {
             if (valid) {
               for (let item in this.tableData) {
                 if (item < Number(this.tableData.length) - 1) {
-                  if (!this.tableData[item].corpId) return this.$message.error('请选择第' + Number(Number(item) + 1) + '行货运地点');
+                  if (!this.tableData[item].corpId) return this.$message.error('请选择装货地址第' + Number(Number(item) + 1) + '行货运地点');
                   // if (!this.tableData[item].address) return this.$message.error('请输入第' + Number(Number(item) + 1) + '行详细地址');
                   // if (!this.tableData[item].contacts) return this.$message.error('请输入第' + Number(Number(item) + 1) + '行联系人');
                   // if (!this.tableData[item].tel) return this.$message.error('请输入第' + Number(Number(item) + 1) + '行电话');
                 }
               }
-              let data = JSON.parse(JSON.stringify(this.tableData))
-              data.forEach((item, index) => {
-                item.sort = index + 1
-              })
+              for (let item in this.tableDataTwo) {
+                if (item < Number(this.tableDataTwo.length) - 1) {
+                  if (!this.tableDataTwo[item].corpId) return this.$message.error('请选择卸货地址第' + Number(Number(item) + 1) + '行货运地点');
+                }
+              }
               this.type = true
               let form = this.goodsForm
               delete this.goodsForm.status
+              form.status = 1
               delete form.orderItemList
-              changeSubmission({
+              saveSaveList({
                 ...form,
                 kind: '1',
-                orderAddressList: data,
+                loadingAddressList: this.tableData,
+                unloadedAddressList: this.tableDataTwo,
                 fileList: this.orderFilesList,
                 itemList: this.entrustList,
                 orderItemList: [],
@@ -2528,6 +2566,26 @@ export default {
         }
       })
     },
+    modifyState() {
+      if (this.goodsForm.status === 1) {
+        if (!this.goodsForm.fleetId) return this.$message.error('请选择车队')
+      }
+      if (this.goodsForm.status === 2) {
+        if (!this.goodsForm.plateNo) return this.$message.error('请选择车号')
+        if (!this.goodsForm.driverId) return this.$message.error('请选择司机')
+        if (!this.goodsForm.driverTel) return this.$message.error('请输入司机电话')
+      }
+      let value = ''
+      if (this.goodsForm.status == 1) value = 2
+      if (this.goodsForm.status == 2) value = 3
+      if (this.goodsForm.status == 3) value = 6
+      if (this.goodsForm.status == 6) value = 4
+      if (this.goodsForm.status == 4) value = 5
+      statusBulkLoad({id: this.goodsForm.id, status:value}).then(res => {
+        this.$message.success('操作成功');
+        this.refreshData(res.data.data)
+      })
+    },
     //提交委托
     submit(type) {
       if (type) {
@@ -2539,12 +2597,17 @@ export default {
         })
         for (let item in this.tableData) {
           if (item < Number(this.tableData.length) - 1) {
-            if (!this.tableData[item].corpId) return this.$message.error('请选择第' + Number(Number(item) + 1) + '行货运地点');
+            if (!this.tableData[item].corpId) return this.$message.error('请选择装货地址第' + Number(Number(item) + 1) + '行货运地点');
             // if (!this.tableData[item].address) return this.$message.error('请输入第' + Number(Number(item) + 1) + '行详细地址');
             // if (!this.tableData[item].contacts) return this.$message.error('请输入第' + Number(Number(item) + 1) + '行联系人');
             // if (!this.tableData[item].tel) return this.$message.error('请输入第' + Number(Number(item) + 1) + '行电话');
           }
         }
+        for (let item in this.tableDataTwo) {
+          if (item < Number(this.tableDataTwo.length) - 1) {
+            if (!this.tableDataTwo[item].corpId) return this.$message.error('请选择卸货地址第' + Number(Number(item) + 1) + '行货运地点');
+          }
+        }
         this.$refs['goodsFormE'].validate((valid, doneE) => {
           doneE()
           if (valid) {
@@ -2585,9 +2648,21 @@ export default {
           }
         })
       } else {
-        cancelSubmission({
-          id: this.goodsForm.id
-        }).then(res => {
+        statusBulkLoad({id: this.goodsForm.id, status: 0}).then(res => {
+          this.$message.success('取消成功');
+          this.refreshData()
+        })
+      }
+    },
+    //取消调度
+    cancelScheduling(type) {
+      if (type) {
+        statusBulkLoad({id: this.goodsForm.id, status: 2}).then(res => {
+          this.$message.success('取消成功');
+          this.refreshData()
+        })
+      } else {
+        statusBulkLoad({id: this.goodsForm.id, status: 1}).then(res => {
           this.$message.success('取消成功');
           this.refreshData()
         })
@@ -2595,39 +2670,39 @@ export default {
     },
     //收费新增
     addRowCollection() {
-      if (this.goodsForm.plateNo){
+      if (this.goodsForm.plateNo) {
         this.$refs.collection.rowCellAdd({
           currency: '1',
           type: '1',
           $cellEdit: true,
-          plateNo:this.goodsForm.plateNo
+          plateNo: this.goodsForm.plateNo
         });
-      }else {
+      } else {
         this.$message.error('请选择车号')
       }
     },
     //付费新增
     addRowPayment() {
-      if (this.goodsForm.plateNo){
+      if (this.goodsForm.plateNo) {
         this.$refs.payment.rowCellAdd({
           currency: '1',
           type: '2',
           $cellEdit: true,
-          plateNo:this.goodsForm.plateNo
+          plateNo: this.goodsForm.plateNo
         });
-      }else {
+      } else {
         this.$message.error('请选择车号')
       }
     },
     //打开附件
-    annexOpen(row, index,type) {
-      if (row.id){
+    annexOpen(row, index, type) {
+      if (row.id) {
         this.formAnnex = row
         getFee({id: row.id}).then(res => {
           this.orderList = res.data.data
           this.enclosure = true
         })
-      }else {
+      } else {
         this.$message.error('请点击顶部【保存】后再操作')
       }
     },

+ 37 - 22
src/views/landTransportation/bulkCargo/index.vue

@@ -18,7 +18,7 @@
               </div>
             </div>
             <div class="divider"/>
-            <div class="content-item" @click="handleClick('999')">
+            <div class="content-item" @click="handleClick('0')">
               <div class="card">
                 <div class="card-title card-title7">
                 <span>
@@ -26,13 +26,13 @@
                 </span>
                 </div>
                 <div class="card-content">
-                  <span class="card-content-num" :class="activeName === '999'?'selected':''">{{ totalData.last }}</span>
-                  <span class="card-content-text" :class="activeName === '999'?'selected':''">未提交</span>
+                  <span class="card-content-num" :class="activeName === '0'?'selected':''">{{ totalData.last }}</span>
+                  <span class="card-content-text" :class="activeName === '0'?'selected':''">未提交</span>
                 </div>
               </div>
             </div>
             <div class="divider"/>
-            <div class="content-item" @click="handleClick('0')">
+            <div class="content-item" @click="handleClick('1')">
               <div class="card">
                 <div class="card-title card-title2">
                 <span>
@@ -40,13 +40,13 @@
                 </span>
                 </div>
                 <div class="card-content">
-                  <span class="card-content-num" :class="activeName === '0'?'selected':''">{{ totalData.zero }}</span>
-                  <span class="card-content-text" :class="activeName === '0'?'selected':''">未调度</span>
+                  <span class="card-content-num" :class="activeName === '1'?'selected':''">{{ totalData.zero }}</span>
+                  <span class="card-content-text" :class="activeName === '1'?'selected':''">未调度</span>
                 </div>
               </div>
             </div>
             <div class="divider"/>
-            <div class="content-item" @click="handleClick('1')">
+            <div class="content-item" @click="handleClick('2')">
               <div class="card">
                 <div class="card-title card-title3">
                 <span>
@@ -54,13 +54,13 @@
                 </span>
                 </div>
                 <div class="card-content">
-                  <span class="card-content-num" :class="activeName === '1'?'selected':''">{{ totalData.one }}</span>
-                  <span class="card-content-text" :class="activeName === '1'?'selected':''">未派车</span>
+                  <span class="card-content-num" :class="activeName === '2'?'selected':''">{{ totalData.one }}</span>
+                  <span class="card-content-text" :class="activeName === '2'?'selected':''">未派车</span>
                 </div>
               </div>
             </div>
             <div class="divider"/>
-            <div class="content-item" @click="handleClick('2')">
+            <div class="content-item" @click="handleClick('3')">
               <div class="card">
                 <div class="card-title card-title4">
                 <span>
@@ -68,13 +68,13 @@
                 </span>
                 </div>
                 <div class="card-content">
-                  <span class="card-content-num" :class="activeName === '2'?'selected':''">{{ totalData.two }}</span>
-                  <span class="card-content-text" :class="activeName === '2'?'selected':''">未受理</span>
+                  <span class="card-content-num" :class="activeName === '3'?'selected':''">{{ totalData.two }}</span>
+                  <span class="card-content-text" :class="activeName === '3'?'selected':''">未受理</span>
                 </div>
               </div>
             </div>
             <div class="divider"/>
-            <div class="content-item" @click="handleClick('3')">
+            <div class="content-item" @click="handleClick('4')">
               <div class="card">
                 <div class="card-title card-title5">
                 <span>
@@ -82,13 +82,13 @@
                 </span>
                 </div>
                 <div class="card-content">
-                  <span class="card-content-num" :class="activeName === '3'?'selected':''">{{ totalData.three }}</span>
-                  <span class="card-content-text" :class="activeName === '3'?'selected':''">未完工</span>
+                  <span class="card-content-num" :class="activeName === '4'?'selected':''">{{ totalData.three }}</span>
+                  <span class="card-content-text" :class="activeName === '4'?'selected':''">未完工</span>
                 </div>
               </div>
             </div>
             <div class="divider"/>
-            <div class="content-item" @click="handleClick('4')">
+            <div class="content-item" @click="handleClick('5')">
               <div class="card">
                 <div class="card-title card-title6">
                     <span>
@@ -96,8 +96,8 @@
                     </span>
                 </div>
                 <div class="card-content">
-                  <span class="card-content-num" :class="activeName === '4'?'selected':''">{{ totalData.four }}</span>
-                  <span class="card-content-text" :class="activeName === '4'?'selected':''">已关闭</span>
+                  <span class="card-content-num" :class="activeName === '5'?'selected':''">{{ totalData.four }}</span>
+                  <span class="card-content-text" :class="activeName === '5'?'selected':''">已关闭</span>
                 </div>
               </div>
             </div>
@@ -198,7 +198,7 @@ export default {
   data() {
     return {
       id: '',
-      activeName: '999',
+      activeName: '0',
       show: true,
       query: {},
       selectionList: [],
@@ -248,6 +248,7 @@ export default {
             prop: 'salesman',
             search: true,
             overHidden: true,
+            filterable: true,
             type: "select",
             dicUrl: "/api/blade-user/userList?roleAlias=业务员",
             props: {
@@ -258,6 +259,7 @@ export default {
             label: '物流运输',
             prop: 'dispatchDept',
             search: true,
+            filterable: true,
             dicUrl: "/api/blade-system/dept/top-list?deptCategory=1",
             type: "select",
             props: {
@@ -304,6 +306,7 @@ export default {
               value: "id",
               res: "data.records"
             },
+            filterable: true,
             search: true,
           }, {
             label: '车号',
@@ -316,12 +319,14 @@ export default {
               label: "plateNo",
               value: "plateNo"
             },
+            filterable: true,
             search: true,
           }, {
             label: '司机',
             width: 100,
             index: 8,
             prop: 'driverId',
+            filterable: true,
             type: "select",
             dicUrl: "/api/blade-client/land-driver/driver-list?plateNo={{key}}",
             props: {
@@ -372,6 +377,16 @@ export default {
             index: 15,
             width: 135,
             search: true,
+          }, {
+            label: '到厂日期',
+            overHidden: true,
+            prop: 'reachTime',
+            type: "date",
+            defaultTime: ['00:00:00', '23:59:59'],
+            format: "yyyy-MM-dd HH:mm",
+            valueFormat: "yyyy-MM-dd HH:mm:ss",
+            index: 15,
+            width: 135,
           }]
       },
       home: false,
@@ -475,9 +490,9 @@ export default {
       this.onLoad(this.page)
     },
     onLoad(page, params = {}) {
-      // totalList(1).then(res => {
-      //   this.totalData = res.data.data
-      // })
+      totalList().then(res => {
+        this.totalData = res.data.data
+      })
       let queryParams = {
         size: page.pageSize,
         current: page.currentPage,