Quellcode durchsuchen

Merge branch 'master' of http://git.zthymaoyi.com/gdc/yiliangyiyun-pc

zhongtianhaoyuan vor 4 Jahren
Ursprung
Commit
4f4755b40e

+ 14 - 0
src/api/V2/transport/index.js

@@ -8,5 +8,19 @@ export const API_POST_TRAN_DRIVERINFOADD = '/driverViewInfo/api/addInfo'
 export const API_GET_DRIVERINFO_GETDRIVER = '/driverViewInfo/getDriver'
 // 司机管理-删除
 export const API_POST_DELETE_DRIVER = '/driverViewInfo/api/deleteDriver'
+// 司机管理-禁用
+export const API_POST_DISABLE_DRIVER = '/driverViewInfo/api/editDisableInfo'
+// 司机管理-编辑-删除货车
+export const API_POST_DELTET_TRANCAR = '/driverCarInfo/api/deleteDriverCar'
+// 司机管理-编辑-删除收款人
+export const API_POST_DELTET_TRANPROCESS = '/driverPayeeInfo/api/deleteDriverPayee'
+// 识别身份证
+export const API_POST_PERSON = '/driverViewInfo/personShibie'
+// 识别银行卡号
+export const API_GET_bank = '/driverViewInfo/bankShibie'
+// 司机管理-编辑
+export const API_POST_EDIT_DRIVER = '/driverViewInfo/api/editInfo'
+// 司机管理-车头、车型
+export const API_GET_PRAAMETER = '/commonSysParameter/getInfo'
 //运输任务查看
 export const API_POST_TRAN_LOOK = '/tranTaskInfo/getTranTask'

+ 31 - 28
src/lang/zh.js

@@ -490,7 +490,7 @@
     purchaseContractEdit: '采购合同编辑',
     //仓库管理
     warehouseManagementList: '仓库管理',
-     warehouseManagementAdd: '仓库管理添加',
+    warehouseManagementAdd: '仓库管理添加',
     warehouseManagementEdit: '仓库管理编辑',
     warehouseManagementPut: '入库',
     warehouseManagementDelivery: '出库',
@@ -503,17 +503,20 @@
     warehouseManagementPerfectput: '编辑',
     //运输管理
     tranManagement: '运输管理',
-    tranManagementDriver:'司机管理',
-    tranManagementDriverAdd:'添加司机',
-    warehouseManagementPerfectDelivery:'编辑',
-    tranManagementTransport:'运输任务',
-    tranManagementLook:'运输任务查看',
-    tranManagementTransportAdd:'运输任务添加',
-    tranManagementTransportEdit:'运输任务编辑',
-    tranManagementVehicle:'汽运调度',
-    tranManagementVehicleDispatching:'汽车调度',
-    tranManagementVehicleLook:'查看派车详情',
-    tranManagementTransporTationFire:'火运调度',
+    tranManagementDriver: '司机管理',
+    tranManagementDriverAdd: '添加司机',
+    tranManagementDriverLook: '查看司机',
+    warehouseManagementPerfectDelivery: '编辑',
+    tranManagementTransport: '运输任务',
+    tranManagementDriverEdit: '编辑司机',
+
+    tranManagementLook: '运输任务查看',
+    tranManagementTransportAdd: '运输任务添加',
+    tranManagementTransportEdit: '运输任务编辑',
+    tranManagementVehicle: '汽运调度',
+    tranManagementVehicleDispatching: '汽车调度',
+    tranManagementVehicleLook: '查看派车详情',
+    tranManagementTransporTationFire: '火运调度',
 
     // 采购模块
     procurement: '采购管理',
@@ -4711,25 +4714,25 @@
 
   },
   //运输管理
-  tranManagement:{
-    tranManagementDriver:'司机管理',
-    tranManagementDriverAdd:'添加司机',
-   
-    
+  tranManagement: {
+    tranManagementDriver: '司机管理',
+    tranManagementDriverAdd: '添加司机',
+    tranManagementDriverLook: '查看司机',
+    tranManagementDriverEdit: '编辑司机'
   },
-  tranManagementTransport:{
-    tranManagementTransport:'运输任务',
-    tranManagementLook:'运输任务查看',
-    tranManagementTransportAdd:'运输任务添加',
-    tranManagementTransportEdit:'运输任务编辑',
+  tranManagementTransport: {
+    tranManagementTransport: '运输任务',
+    tranManagementLook: '运输任务查看',
+    tranManagementTransportAdd: '运输任务添加',
+    tranManagementTransportEdit: '运输任务编辑',
   },
-  tranManagementVehicle:{
-    tranManagementVehicle:'汽运调度',
-    tranManagementVehicleDispatching:'汽车调度',
-    tranManagementVehicleLook:'查看派车详情',
+  tranManagementVehicle: {
+    tranManagementVehicle: '汽运调度',
+    tranManagementVehicleDispatching: '汽车调度',
+    tranManagementVehicleLook: '查看派车详情',
   },
-  tranManagementTransporTationFire:{
-    tranManagementTransporTationFire:'火运调度'
+  tranManagementTransporTationFire: {
+    tranManagementTransporTationFire: '火运调度'
   },
   // 年度培训
   annualTraining: {

+ 25 - 8
src/model/transport/index.js

@@ -6,10 +6,16 @@ import {
     API_POST_TRAN_DRIVERINFOADD,
     API_GET_TRAN_LIST,
     API_POST_TRAN_ADD,
-    API_POST_TRAN_LOOK,
     API_GET_DRIVERINFO_GETDRIVER,
-    API_POST_DELETE_DRIVER
-
+    API_POST_DELETE_DRIVER,
+    API_POST_DISABLE_DRIVER,
+    API_POST_DELTET_TRANCAR,
+    API_POST_DELTET_TRANPROCESS,
+    API_POST_PERSON,
+    API_GET_bank,
+    API_POST_EDIT_DRIVER,
+    API_GET_PRAAMETER,
+    API_POST_TRAN_LOOK,
 } from '@/api/V2/transport'
 // 司机列表
 export const selectDriver = appRx.get(API_GET_TRAN_DRIVERINFO, errorCatcher, errorHandle, filter)
@@ -18,13 +24,24 @@ export const addDriver = appRx.post(API_POST_TRAN_DRIVERINFOADD, errorCatcher, e
 //运输任务列表
 export const gain = appRx.get(API_GET_TRAN_LIST, errorCatcher, errorHandle, filter)
 //运输任务添加
-export const addTranTask = appRx.post(API_POST_TRAN_ADD,errorCatcher, errorHandle, filter) 
-
-
+export const addtrantask = appRx.post(API_POST_TRAN_ADD, errorCatcher, errorHandle, filter)
 // 司机管理-查看
 export const lookDriver = appRx.get(API_GET_DRIVERINFO_GETDRIVER, errorCatcher, errorHandle, filter)
 // 司机管理-删除
 export const delDriver = appRx.post(API_POST_DELETE_DRIVER, errorCatcher, errorHandle, filter)
+// 司机管理-禁用
+export const disableDriver = appRx.post(API_POST_DISABLE_DRIVER, errorCatcher, errorHandle, filter)
+// 司机管理-编辑-删除货车
+export const deltrancar = appRx.post(API_POST_DELTET_TRANCAR, errorCatcher, errorHandle, filter)
+// 司机管理-编辑-删除收款
+export const deltranprocess = appRx.post(API_POST_DELTET_TRANPROCESS, errorCatcher, errorHandle, filter)
+// 识别身份证
+export const getidentity = appRx.get(API_POST_PERSON, errorCatcher, errorHandle, filter)
+// 识别银行卡号
+export const getbank = appRx.get(API_GET_bank, errorCatcher, errorHandle, filter)
+// 司机管理-编辑
+export const editdriver = appRx.post(API_POST_EDIT_DRIVER, errorCatcher, errorHandle, filter)
+// 司机管理-车头、车型
+export const packList = appRx.get(API_GET_PRAAMETER, errorCatcher, errorHandle, filter)
 //运输任务查看
-export const lookTranTask = appRx.get(API_POST_TRAN_LOOK,errorCatcher, errorHandle, filter) 
-
+export const lookTranTask = appRx.get(API_POST_TRAN_LOOK, errorCatcher, errorHandle, filter)

+ 21 - 6
src/views/tranManagement/component/routers/route.js

@@ -41,7 +41,7 @@ const tranManagementRouter = {
         permissicon: [],
         keepAlive: true
       },
-      
+
 
     },
     //添加司机
@@ -74,6 +74,21 @@ const tranManagementRouter = {
       },
       hidden: true
     },
+    //编辑司机
+    {
+      path: 'tranManagementDriverEdit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementDriverEdit'),
+      name: 'tranManagementDriverEdit',
+      meta: {
+        title: 'tranManagementDriverEdit',
+        shortcutEntrance: 'tranManagement',
+        module: 'tranManagement.tranManagementDriver.tranManagementDriverEdit',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
+    },
     //运输添加
     {
       path: 'tranManagementTransportAdd',
@@ -118,10 +133,10 @@ const tranManagementRouter = {
         permissicon: [],
         keepAlive: true
       },
-      
+
     },
-     //司机查看
-     {
+    //司机查看
+    {
       path: 'tranManagementDriverLook',
       component: () =>
         import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementDriverLook'),
@@ -149,7 +164,7 @@ const tranManagementRouter = {
       },
       hidden: true
     },
-     //司机添加
+    //司机添加
     {
       path: 'tranManagementDriverAdd',
       component: () =>
@@ -223,7 +238,7 @@ const tranManagementRouter = {
         keepAlive: true
       }
     },
-    
+
   ],
 
 };

+ 128 - 21
src/views/tranManagement/tranManagementDriver.vue

@@ -79,22 +79,22 @@
                     {{ item.payeeName }}
                   </ws-form-item>
                   <ws-form-item
-                    v-if="item.accountTypeFlag == 1"
+                    v-if="item.accountTypeFlag == 2"
                     label="企业名称"
                     span="1"
-                    prop="bankDeposit"
+                    prop="compName"
                     class="el-car"
                   >
-                    {{ item.payeeNumberCard }}
+                    {{ item.compName }}
                   </ws-form-item>
                   <ws-form-item
-                    v-if="item.accountTypeFlag == 2"
+                    v-if="item.accountTypeFlag == 1"
                     label="身份证"
                     span="1"
-                    prop="bankDeposit"
+                    prop="payeeNumberCard"
                     class="el-car"
                   >
-                    {{ item.compName }}
+                    {{ item.payeeNumberCard }}
                   </ws-form-item>
                   <ws-form-item
                     label="开户行"
@@ -102,12 +102,25 @@
                     prop="bankDeposit"
                     class="el-car"
                   >
-                    {{ item.bankDeposit }}
+                    <span style="margin: 10px; display: inline-block">{{
+                      item.bankDeposit
+                    }}</span
+                    ><span
+                      style="
+                        margin: 10px;
+                        padding: 10px;
+                        display: inline-block;
+                        word-wrap: break-word;
+                        line-height: 20px;
+                        white-space: normal;
+                      "
+                      >{{ item.bankDepositBranch }}</span
+                    >
                   </ws-form-item>
                   <ws-form-item
                     label="账号"
                     span="1"
-                    prop="bankDeposit"
+                    prop="bankCard"
                     class="el-car"
                   >
                     {{ item.bankCard }}
@@ -147,6 +160,10 @@
           </template>
         </el-table-column>
         <el-table-column prop="binNumber" label="常驻城市" width="120">
+          <template slot-scope="scope">
+            {{ scope.row.residentCityProvincial
+            }}{{ scope.row.residentCityMunicipal }}
+          </template>
         </el-table-column>
         <el-table-column prop="carModel" label="车型" width="80">
         </el-table-column>
@@ -173,7 +190,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="addressUrl" label="附件">
-          <!-- <template slot-scope="scope">
+          <template slot-scope="scope">
             <img
               width="18"
               height="20"
@@ -185,7 +202,7 @@
             <span v-if="scope.row.addressUrlArray.length > 0">{{
               scope.row.addressUrlArray.length
             }}</span>
-          </template> -->
+          </template>
         </el-table-column>
         <el-table-column prop="address" label="操作" width="400">
           <template slot-scope="scope">
@@ -214,6 +231,7 @@
               >删除</ws-button
             >
             <ws-button
+              v-if="scope.row.disableStatusFlag != 1"
               type="primary"
               @click="stop(scope.row)"
               v-hasPermission="
@@ -221,6 +239,22 @@
               "
               >禁用</ws-button
             >
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.disableReasons"
+              placement="right-start"
+            >
+              <ws-button
+                v-if="scope.row.disableStatusFlag == 1"
+                type="primary"
+                @click="relieve(scope.row)"
+                v-hasPermission="
+                  `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
+                "
+                >已禁用</ws-button
+              >
+            </el-tooltip>
           </template>
         </el-table-column>
       </el-table>
@@ -234,6 +268,39 @@
       >
       </el-pagination>
     </div>
+    <!-- <el-dialog v-model="outerVisible">
+      <el-input
+        type="textarea"
+        :rows="2"
+        placeholder="请输入禁用原因,不超过50个字"
+        v-model="dsiablieForm"
+      >
+      </el-input>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="outerVisible = false">取 消</el-button>
+          <el-button type="primary" @click="">确定禁用</el-button>
+        </div>
+      </template>
+    </el-dialog> -->
+    <WinseaContentModal
+      v-model="outerVisible"
+      title="禁用原因"
+      @on-cancel="handleClose"
+    >
+      <el-input
+        type="textarea"
+        :rows="2"
+        maxlength="50"
+        placeholder="请输入禁用原因,不超过50个字"
+        v-model="disablieForm.disableReasons"
+      >
+      </el-input>
+      <div class="dialog-footer">
+        <el-button @click="outerVisible = false">取 消</el-button>
+        <el-button type="primary" @click="disableReasons">确定禁用</el-button>
+      </div>
+    </WinseaContentModal>
   </div>
 </template>
 <script>
@@ -241,6 +308,7 @@ import {
   selectDriver,
   billoperatehis,
   delDriver,
+  disableDriver,
 } from '@/model/transport/index'
 import Pagination from '@/components/Pagination'
 // provinceAndCityData省市二级
@@ -283,6 +351,7 @@ export default {
       endDate: null,
       carNumber: '',
       searchTypeText: '',
+      outerVisible: false,
       // 提交类型
       submitType: true,
       size: 10,
@@ -293,6 +362,7 @@ export default {
         year: dayjs().format('YYYY'),
         month: dayjs().format('MM'),
       },
+      disablieForm: {},
       expands: [], //只展开一行放入当前行id
       getRowKeys: (row) => {
         //获取当前行id
@@ -319,6 +389,12 @@ export default {
       row.expandsStatus = !row.expandsStatus
       this.$refs.expandstable.toggleRowExpansion(row)
     },
+    edit(row) {
+      this.$router.push({
+        name: 'tranManagementDriverEdit',
+        query: { id: row.id },
+      })
+    },
     //查找
     handleLook() {
       this.currentPage = 1
@@ -334,10 +410,6 @@ export default {
     handleAdd() {
       this.$router.push({ path: 'tranManagementDriverAdd' })
     },
-    //编辑
-    handleEdit() {
-      this.$router.push({ path: 'warehouseManagementEdit' })
-    },
     handleDelete() {
       this.$router.push({ path: 'warehouseManagementDelete' })
     },
@@ -350,6 +422,42 @@ export default {
         }
       }
     },
+    stop(row) {
+      this.outerVisible = true
+      this.disablieForm.id = row.id
+    },
+    disableReasons() {
+      this.outerVisible = false
+      this.disablieForm.disableStatusFlag = 0
+      disableDriver(this.disablieForm)
+        .toPromise()
+        .then((response) => {
+          this.$notify.success({
+            title: '成功',
+            message: '禁用成功',
+          })
+          this.getList()
+        })
+        .catch((response) => {
+          EventBus.$emit('error', response.message)
+        })
+    },
+    relieve(row) {
+      this.disablieForm.id = row.id
+      this.disablieForm.disableStatusFlag = 1
+      disableDriver(this.disablieForm)
+        .toPromise()
+        .then((response) => {
+          this.$notify.success({
+            title: '成功',
+            message: '解除禁用成功',
+          })
+          this.getList()
+        })
+        .catch((response) => {
+          EventBus.$emit('error', response.message)
+        })
+    },
     deletes(row) {
       this.$confirm(`司机信息删除后不可恢复,是否确定删除?`, '提示', {
         confirmButtonText: '确定',
@@ -406,13 +514,12 @@ export default {
               response.records[i].driverCarInfoList[0].carModel
             response.records[i].carLength =
               response.records[i].driverCarInfoList[0].carLength
-            //   if (response.records[i].addressUrl != null) {
-            //     response.records[i].addressUrlArray = response.records[
-            //       i
-            //     ].addressUrl.split(',')
-            //   } else {
-            //     response.records[i].addressUrlArray = []
-            //   }
+            if (response.records[i].addressUrl != null) {
+              response.records[i].addressUrlArray =
+                response.records[i].addressUrl.split(',')
+            } else {
+              response.records[i].addressUrlArray = []
+            }
           }
 
           this.deptCircularPage.currentPage = response.current

+ 211 - 53
src/views/tranManagement/tranManagementDriverAdd.vue

@@ -237,10 +237,13 @@
                 size="small"
               />
               <el-upload
-                :headers="headers"
-                :action="uploadPath"
+                action="https://www.zthymaoyi.com/upload/admin"
                 :show-file-list="false"
-                :on-success="uploadSuccessHandle"
+                :on-success="
+                  (res, file) => {
+                    uploadSuccessHandle1(index, res, file)
+                  }
+                "
                 class="avatar-uploader"
                 accept=".jpg, .jpeg, .png, .gif"
                 ><img
@@ -317,20 +320,14 @@
                 maxlength="100"
                 size="small"
               />
-            </ws-form-item>
-            <!--身份证附件-->
-            <ws-form-item
-              label="身份证附件"
-              v-if="item.accountTypeFlag == 1"
-              span="1"
-              prop="cardAddressUrl"
-              class="el-car"
-            >
               <el-upload
-                :headers="headers"
                 action="https://www.zthymaoyi.com/upload/admin"
                 :show-file-list="false"
-                :on-success="uploadSuccessHandle"
+                :on-success="
+                  (res, file) => {
+                    uploadSuccessHandle(index, res, file)
+                  }
+                "
                 class="avatar-uploader"
                 accept=".jpg, .jpeg, .png, .gif"
                 ><img
@@ -345,17 +342,25 @@
                   alt=""
                 />
               </el-upload>
-              <span v-if="item.addressUrlArray.length > 0">{{
-                item.addressUrlArray.length
-              }}</span>
-              <span v-if="item.addressUrlArray.length == 0">未上传</span>
-              <!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
-              <!-- <ws-input
-            v-model="deptBudgetList.driverPayeeInfo.personNo"
-            placeholder="请输入身份证附件"
-            maxlength="100"
-            size="small"
-          /> -->
+            </ws-form-item>
+            <ws-form-item label="开户支行" span="1" prop="bankDepositBranch">
+              <ws-select
+                v-model="item.bankDepositBranch"
+                placeholder=""
+                class="typeselect"
+                @change="
+                  (value) => {
+                    selectbankDepositBranch(value, index)
+                  }
+                "
+              >
+                <ws-option
+                  v-for="(items, index) in item.bankDepositBranchList"
+                  :key="index"
+                  :label="items"
+                  :value="items"
+                />
+              </ws-select>
             </ws-form-item>
           </ws-info-table>
           <img
@@ -383,19 +388,120 @@
       :model="deptBudgetList"
     >
       <div class="flex">
-        <div class="driver">相关附件</div>
-        <ws-upload
-          ref="upload"
-          table-name="maintain_work_order"
-          oss-key="mainPlan"
-          :comp-id="compId"
-          :appendix-ids="appendixIdsAdd"
-          :vesselId="deptBudgetList.addressUrl"
-          :size-limit="size"
-          @uploadSuccess="uploadSuccess"
-          @onChange="onChange"
-          accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-        />
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandletravel"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >行驶证</el-button
+            >
+          </el-upload>
+          <img
+            v-show="addressUrls.travel"
+            width="100"
+            height="100"
+            :src="addressUrls.travel"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandledrive"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >驾驶证</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.drive"
+            width="100"
+            height="100"
+            :src="addressUrls.drive"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandleway"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >道路运营证</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.way"
+            width="100"
+            height="100"
+            :src="addressUrls.way"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandlequalification"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >从业资格证</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.qualification"
+            width="100"
+            height="100"
+            :src="addressUrls.qualification"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandleidentityjust"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >身份证正面</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.identityjust"
+            width="100"
+            height="100"
+            :src="addressUrls.identityjust"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandleidentityagainst"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >身份证反面</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.identityagainst"
+            width="100"
+            height="100"
+            :src="addressUrls.identityagainst"
+            alt=""
+          />
+        </div>
       </div>
     </ws-form>
     <!-- 提交 -->
@@ -413,7 +519,7 @@
 <script>
 import { provinceAndCityData, CodeToText } from 'element-china-area-data'
 import { packList } from '@/model/contarct/index'
-import { addDriver } from '@/model/transport/index'
+import { getidentity, getbank, addDriver } from '@/model/transport/index'
 import WsUpload from '@/components/WsUpload'
 import mapDrag from '@/components/mapdrag/mapdrag'
 export default {
@@ -459,6 +565,7 @@ export default {
       value1: '',
       unitList: [],
       accessoryBankTFs: false,
+      addressUrls: {},
       freightspace: [
         {
           carNumber: '',
@@ -527,20 +634,63 @@ export default {
       this.listDate.level = 'city'
       this.listDate.country = this.name
     },
-    uploadSuccessHandle(e, file) {
+    uploadSuccessHandle(index, e, fileList) {
+      console.log(index, e, fileList)
+      const that = this
+
+      getidentity({ personImg: e.url })
+        .toPromise()
+        .then((response) => {
+          for (var i = 0; i < this.freightspace1.length; i++) {
+            if (i == index) {
+              this.freightspace1[i].cardAddressUrl = e.url
+              this.freightspace1[i].payeeName = response.recPerson
+              this.freightspace1[i].payeeNumberCard = response.recPersonNo
+            }
+          }
+        })
+    },
+    uploadSuccessHandle1(index, e, fileList) {
+      console.log(index, e, fileList)
       const that = this
-      this.upForm.personNoImg = e.url
-      this.upForm.type = 'driver'
-      this.submiting = true
-      // personShibie(this.upForm).then((response) => {
-      //   this.list.unshift(response.data.data)
-      //   this.upForm.driver = response.data.data.driver
-      //   this.upForm.driverNo = response.data.data.driverNo
-      //   this.upForm.driverAddress = response.data.data.driverAddress
-      //   this.upFormVisible = true
-      //   this.submiting = false
-      // })
+      // this.deptBudgetList.cardAddressUrl = e.url
+      getbank({ bankImg: e.url })
+        .toPromise()
+        .then((response) => {
+          for (var i = 0; i < this.freightspace1.length; i++) {
+            if (i == index) {
+              this.freightspace1[i].payeeAddressUrl = e.url
+              this.freightspace1[i].bankCard = response.bankNo
+              this.freightspace1[i].bankDeposit = response.bankName
+              this.freightspace1[i].bankDepositBranchList =
+                response.bankNameZhihang
+            }
+          }
+        })
+    },
+    uploadSuccessHandletravel(e) {
+      this.$set(this.addressUrls, 'travel', e.url)
+    },
+    uploadSuccessHandledrive(e) {
+      this.$set(this.addressUrls, 'drive', e.url)
+    },
+    uploadSuccessHandleway(e) {
+      this.$set(this.addressUrls, 'way', e.url)
+      this.addressUrls.way = e.url
     },
+    uploadSuccessHandlequalification(e) {
+      this.$set(this.addressUrls, 'qualification', e.url)
+    },
+    uploadSuccessHandleidentityjust(e) {
+      this.$set(this.addressUrls, 'identityjust', e.url)
+    },
+    uploadSuccessHandleidentityagainst(e) {
+      this.$set(this.addressUrls, 'identityagainst', e.url)
+    },
+    selectbankDepositBranch(e, index) {
+      this.freightspace1[index].bankDepositBranch = e
+    },
+
     // 关闭 dialog时 处理文件url 初始化upload组件
     handleClose() {
       this.dialogViewSpareMoney = false
@@ -620,8 +770,10 @@ export default {
     },
 
     submit() {
-      console.log(this.freightspace)
-
+      var arr = []
+      for (let key in this.addressUrls) {
+        arr.push(this.addressUrls[key])
+      }
       this.$refs.deptBudgetList.validate((valid) => {
         if (valid) {
           this.deptBudgetList.compId = sessionStorage.getItem('ws-pf_compId')
@@ -629,12 +781,15 @@ export default {
             CodeToText[this.selectedOptions[0]]
           this.deptBudgetList.residentCityMunicipal =
             CodeToText[this.selectedOptions[1]]
+          this.deptBudgetList.addressUrl = arr.toString()
           this.deptBudgetList.driverCarInfoList = this.freightspace
           this.deptBudgetList.driverPayeeInfoList = this.freightspace1
+          console.log(this.deptBudgetList)
           addDriver(this.deptBudgetList)
             .toPromise()
             .then((response) => {
               this.$message.success('添加成功')
+              this.deptBudgetList = {}
               this.$router.push({ path: 'tranManagementDriver' })
             })
         } else {
@@ -754,6 +909,9 @@ export default {
     }
   }
 }
+.avatar-uploader {
+  margin: 0 5px;
+}
 .collapse-bottom {
   margin-bottom: 20px;
 }

+ 1070 - 0
src/views/tranManagement/tranManagementDriverEdit.vue

@@ -0,0 +1,1070 @@
+//添加司机
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">编辑司机</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnsales()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+
+    <ws-form
+      ref="deptBudgetList"
+      :rules="mainReportAdd"
+      :model="deptBudgetList"
+    >
+      <div class="flex">
+        <div class="driver">司机信息</div>
+        <ws-info-table>
+          <!--司机姓名-->
+          <ws-form-item
+            label="姓名"
+            span="1"
+            prop="contractNo"
+            class="readonly bg-right"
+          >
+            <ws-input
+              v-model="deptBudgetList.driverName"
+              placeholder="请输入司机姓名"
+              maxlength="20"
+              size="small"
+            />
+          </ws-form-item>
+          <!--手机号-->
+          <ws-form-item
+            label="手机号"
+            span="1"
+            prop="driverPhone"
+            class="readonly"
+          >
+            <ws-input
+              v-model="deptBudgetList.driverPhone"
+              placeholder="请输入手机号"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+
+          <!--常驻城市-->
+          <ws-form-item label="常驻城市" span="1" prop="acceptanceMethod">
+            <el-cascader
+              :options="options_"
+              v-model="selectedOptions"
+              clearable
+              size="large"
+              placeholder="请选择常驻城市"
+              style="width: 200%"
+              class="el-cascader"
+              @change="handleChange"
+            />
+          </ws-form-item>
+
+          <!--身份证号-->
+          <ws-form-item
+            label="身份证号"
+            span="1"
+            prop="driverNo"
+            class="readonly"
+          >
+            <ws-input
+              v-model="deptBudgetList.numberCard"
+              placeholder="请输入身份证号"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+        </ws-info-table>
+        {{ age }}
+      </div>
+    </ws-form>
+
+    <ws-form
+      ref="deptBudgetList"
+      :rules="mainReportAdd"
+      :model="deptBudgetList"
+    >
+      <div
+        style="width: 100%"
+        class="flex position"
+        v-for="(item, index) in deptBudgetList.driverCarInfoList"
+      >
+        <div class="flex">
+          <div class="driver">货车信息-{{ index + 1 }}</div>
+          <ws-info-table class="el-table">
+            <!--车牌号-->
+            <ws-form-item
+              label="车牌号"
+              span="1"
+              prop="carNumber"
+              class="forlist"
+              width="400px"
+            >
+              <ws-input
+                v-model="item.carNumber"
+                placeholder="请输入车牌号"
+                maxlength="20"
+                size="small"
+              />
+            </ws-form-item>
+            <!--车型-->
+            <ws-form-item label="车型" span="1" prop="carModel" class="forlist">
+              <ws-select
+                v-model="item.carModel"
+                placeholder=""
+                class="typeselect"
+                @change="
+                  (value) => {
+                    selectcarModel(value, index)
+                  }
+                "
+              >
+                <ws-option
+                  v-for="item in carModelList"
+                  :key="item.constKey"
+                  :label="item.constValue"
+                  :value="item.constValue"
+                />
+              </ws-select>
+            </ws-form-item>
+            <!--车长-->
+            <ws-form-item
+              label="不含车头车长(米)"
+              span="1"
+              prop="carLength"
+              class="forlist"
+            >
+              <ws-select
+                v-model="item.carLength"
+                placeholder=""
+                class="typeselect"
+                @change="
+                  (value) => {
+                    selectcarLength(value, index)
+                  }
+                "
+              >
+                <ws-option
+                  v-for="item in carLengthList"
+                  :key="item.constKey"
+                  :label="item.constValue"
+                  :value="item.constValue"
+                />
+              </ws-select>
+            </ws-form-item>
+            <!--载重-->
+            <ws-form-item label="载重" span="1" prop="carLoad" class="forlist">
+              <ws-input
+                v-model="item.carLoad"
+                placeholder="请输入载重"
+                maxlength="100"
+                size="small"
+              />
+            </ws-form-item>
+
+            <!--出厂年份-->
+            <ws-form-item
+              label="出厂年份"
+              span="1"
+              prop="yearManufacture"
+              class="forlist"
+            >
+              <ws-input
+                v-model="item.yearManufacture"
+                placeholder="请输入年份"
+                maxlength="100"
+                size="small"
+              />
+            </ws-form-item>
+          </ws-info-table>
+          <img
+            width="22"
+            height="22"
+            class="add"
+            @click="add"
+            src="../../../public/img/add.png"
+            alt=""
+          />
+          <img
+            width="22"
+            height="22"
+            class="del"
+            @click="del(item, index)"
+            src="../../../public/img/del.png"
+            alt=""
+          />
+        </div>
+      </div>
+    </ws-form>
+    <ws-form
+      ref="deptBudgetList"
+      :rules="mainReportAdd"
+      :model="deptBudgetList"
+    >
+      <div
+        style="width: 100%"
+        class="flex position"
+        v-for="(item, index) in deptBudgetList.driverPayeeInfoList"
+      >
+        <div class="flex">
+          <div class="driver">收款人账户信息-{{ index + 1 }}</div>
+          <ws-info-table class="el-table">
+            <!--账户类型-->
+            <ws-form-item
+              label="账户类型"
+              span="1"
+              prop="contractNo"
+              class="el-car bg-right"
+            >
+              <el-radio v-model="item.accountTypeFlag" label="1"
+                >私人账号</el-radio
+              >
+              <el-radio v-model="item.accountTypeFlag" label="2"
+                >企业账户</el-radio
+              >
+            </ws-form-item>
+            <!--账号-->
+            <ws-form-item label="账号" span="1" prop="bankCard" class="el-car">
+              <ws-input
+                v-model="item.bankCard"
+                placeholder="请输入账号"
+                maxlength="100"
+                size="small"
+              />
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :show-file-list="false"
+                :on-success="
+                  (res, file) => {
+                    uploadSuccessHandle1(index, res, file)
+                  }
+                "
+                class="avatar-uploader"
+                accept=".jpg, .jpeg, .png, .gif"
+                ><img
+                  width="18"
+                  height="20"
+                  style="
+                    vertical-align: text-top;
+                    position: relative;
+                    top: -1px;
+                  "
+                  src="../../../public/img/fujian.png"
+                  alt=""
+                />
+              </el-upload>
+            </ws-form-item>
+            <!--开户行-->
+            <ws-form-item
+              label="开户行"
+              span="1"
+              prop="bankDeposit"
+              class="el-car"
+            >
+              <ws-input
+                v-model="item.bankDeposit"
+                placeholder="请输入开户行"
+                maxlength="100"
+                size="small"
+              />
+            </ws-form-item>
+            <!--姓名-->
+            <ws-form-item
+              label="姓名"
+              v-if="item.accountTypeFlag == 1"
+              span="1"
+              prop="payeeName"
+              class="el-car"
+              width="150px"
+            >
+              <ws-input
+                v-model="item.payeeName"
+                placeholder="请输入姓名"
+                maxlength="100"
+                size="small"
+              />
+            </ws-form-item>
+            <!--企业名称-->
+            <ws-form-item
+              label="企业名称"
+              v-else
+              span="1"
+              prop="compName"
+              class="el-car"
+              width="150px"
+            >
+              <ws-input
+                v-model="item.compName"
+                placeholder="请输入企业名称"
+                maxlength="100"
+                size="small"
+              />
+            </ws-form-item>
+
+            <!--身份证号-->
+            <ws-form-item
+              label="身份证号"
+              v-if="item.accountTypeFlag == 1"
+              span="1"
+              prop="payeeNumberCard"
+              class="el-car"
+            >
+              <ws-input
+                v-model="item.payeeNumberCard"
+                placeholder="请输入身份证号"
+                maxlength="100"
+                size="small"
+              />
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :show-file-list="false"
+                :on-success="
+                  (res, file) => {
+                    uploadSuccessHandle(index, res, file)
+                  }
+                "
+                class="avatar-uploader"
+                accept=".jpg, .jpeg, .png, .gif"
+                ><img
+                  width="18"
+                  height="20"
+                  style="
+                    vertical-align: text-top;
+                    position: relative;
+                    top: -1px;
+                  "
+                  src="../../../public/img/fujian.png"
+                  alt=""
+                />
+              </el-upload>
+            </ws-form-item>
+            <ws-form-item label="开户支行" span="1" prop="bankDepositBranch">
+              <ws-select
+                v-model="item.bankDepositBranch"
+                placeholder=""
+                class="typeselect"
+                @change="
+                  (value) => {
+                    selectbankDepositBranch(value, index)
+                  }
+                "
+              >
+                <ws-option
+                  v-for="(items, index) in item.bankDepositBranchList"
+                  :key="index"
+                  :label="items"
+                  :value="items"
+                />
+              </ws-select>
+            </ws-form-item>
+          </ws-info-table>
+          <img
+            width="22"
+            height="22"
+            class="add"
+            @click="add1"
+            src="../../../public/img/add.png"
+            alt=""
+          />
+          <img
+            width="22"
+            height="22"
+            class="del"
+            @click="del1(item, index)"
+            src="../../../public/img/del.png"
+            alt=""
+          />
+        </div>
+      </div>
+    </ws-form>
+    <ws-form
+      ref="deptBudgetList"
+      :rules="mainReportAdd"
+      :model="deptBudgetList"
+    >
+      <div class="flex">
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandletravel"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >行驶证</el-button
+            >
+          </el-upload>
+          <img
+            v-show="addressUrls.travel"
+            width="100"
+            height="100"
+            :src="addressUrls.travel"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandledrive"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >驾驶证</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.drive"
+            width="100"
+            height="100"
+            :src="addressUrls.drive"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandleway"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >道路运营证</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.way"
+            width="100"
+            height="100"
+            :src="addressUrls.way"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandlequalification"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >从业资格证</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.qualification"
+            width="100"
+            height="100"
+            :src="addressUrls.qualification"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandleidentityjust"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >身份证正面</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.identityjust"
+            width="100"
+            height="100"
+            :src="addressUrls.identityjust"
+            alt=""
+          />
+        </div>
+        <div>
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="uploadSuccessHandleidentityagainst"
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button class="upload" size="small" type="primary"
+              >身份证反面</el-button
+            >
+          </el-upload>
+          <img
+            v-if="addressUrls.identityagainst"
+            width="100"
+            height="100"
+            :src="addressUrls.identityagainst"
+            alt=""
+          />
+        </div>
+      </div>
+    </ws-form>
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button
+        class="bg-bottom"
+        type="primary"
+        size="small"
+        @click="submit(deptBudgetList)"
+        >提交</el-button
+      >
+    </div>
+  </div>
+</template>
+<script>
+import {
+  provinceAndCityData,
+  CodeToText,
+  TextToCode,
+} from 'element-china-area-data'
+import {
+  lookDriver,
+  deltrancar,
+  deltranprocess,
+  getidentity,
+  getbank,
+  packList,
+  editdriver,
+} from '@/model/transport/index'
+import WsUpload from '@/components/WsUpload'
+import mapDrag from '@/components/mapdrag/mapdrag'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    mapDrag,
+  },
+  watch: {
+    vesselId(val) {
+      this.getVesselData()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    let self = this
+    return {
+      deptBudgetList: {
+        totalStorage: 0,
+        drivercarInfo: {
+          goodsName: '',
+        },
+        driverPayeeInfo: {},
+      },
+      radio: '1',
+      carModelList: [],
+      carLengthList: [],
+      options_: provinceAndCityData,
+      heightData: '600px',
+      zoom: 7,
+      selectedOptions: [],
+      window: '',
+      district: null,
+      citylist: [],
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      mainReportAdd: {},
+      appendixIdsAdd: '',
+      size: 10,
+      value1: '',
+      unitList: [],
+      accessoryBankTFs: false,
+      freightspace: [
+        {
+          carNumber: '',
+          carModel: '高栏',
+          carModelKey: '1',
+          carLength: '13',
+          carLengthKey: '1',
+          carLoad: '',
+          yearManufacture: '',
+        },
+      ],
+      freightspace1: [
+        {
+          accountTypeFlag: '1',
+          cardAddressUrl: '',
+          cardAddressUrlArray: [],
+          payeeName: '',
+          payeeNumberCard: '',
+          compName: '',
+          bankDeposit: '',
+          bankCard: '',
+        },
+      ],
+      name: '',
+      age: '',
+    }
+  },
+  activated() {
+    this.loaddata()
+    this.showType = this.isShow
+  },
+  computed: {},
+  methods: {
+    IdCard(UUserCard) {
+      //获取年龄
+      var myDate = new Date()
+      var month = myDate.getMonth() + 1
+      var day = myDate.getDate()
+      var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1
+      if (
+        UUserCard.substring(10, 12) < month ||
+        (UUserCard.substring(10, 12) == month &&
+          UUserCard.substring(12, 14) <= day)
+      ) {
+        age++
+      }
+      this.age = age
+    },
+    bankcardfujian(item) {
+      this.accessoryBankTFs = true
+    },
+    loaddata() {
+      lookDriver({ id: this.$route.query.id })
+        .toPromise()
+        .then((response) => {
+          // this.selectedOptions.push()
+          for (var i = 0; i < response.driverPayeeInfoList.length; i++) {
+            if (response.driverPayeeInfoList[i].cardAddressUrl != null) {
+              response.driverPayeeInfoList[i].cardAddressUrlArray =
+                response.driverPayeeInfoList[i].cardAddressUrl.split(',')
+            } else {
+              response.driverPayeeInfoList[i].cardAddressUrlArray = []
+            }
+          }
+
+          this.deptBudgetList = Object.assign({}, response)
+          var tmp = []
+          tmp[0] = TextToCode[this.deptBudgetList.residentCityProvincial].code
+
+          tmp[1] =
+            TextToCode[this.deptBudgetList.residentCityProvincial][
+              this.deptBudgetList.residentCityMunicipal
+            ].code
+          this.selectedOptions = tmp
+        })
+      console.log(11111)
+      // 车型
+      packList({ constId: 'TRAN1' })
+        .toPromise()
+        .then((response) => {
+          this.carModelList = response
+        })
+      // 车长
+      packList({ constId: 'TRAN2' })
+        .toPromise()
+        .then((response) => {
+          this.carLengthList = response
+        })
+    },
+    confirmPositioncity() {
+      this.listDate.level = 'city'
+      this.listDate.country = this.name
+    },
+    uploadSuccessHandle(index, e, fileList) {
+      console.log(index, e, fileList)
+      const that = this
+
+      getidentity({ personImg: e.url })
+        .toPromise()
+        .then((response) => {
+          for (
+            var i = 0;
+            i < this.deptBudgetList.driverPayeeInfoList.length;
+            i++
+          ) {
+            if (i == index) {
+              this.deptBudgetList.driverPayeeInfoList[i].cardAddressUrl = e.url
+              this.deptBudgetList.driverPayeeInfoList[i].payeeName =
+                response.recPerson
+              this.deptBudgetList.driverPayeeInfoList[i].payeeNumberCard =
+                response.recPersonNo
+            }
+          }
+        })
+    },
+    uploadSuccessHandle1(index, e, fileList) {
+      console.log(index, e, fileList)
+      const that = this
+      // this.deptBudgetList.cardAddressUrl = e.url
+      getbank({ bankImg: e.url })
+        .toPromise()
+        .then((response) => {
+          for (
+            var i = 0;
+            i < this.deptBudgetList.driverPayeeInfoList.length;
+            i++
+          ) {
+            if (i == index) {
+              this.deptBudgetList.driverPayeeInfoList[i].payeeAddressUrl = e.url
+              this.deptBudgetList.driverPayeeInfoList[i].bankCard =
+                response.bankNo
+              this.deptBudgetList.driverPayeeInfoList[i].bankDeposit =
+                response.bankName
+              this.deptBudgetList.driverPayeeInfoList[i].bankDepositBranchList =
+                response.bankNameZhihang
+            }
+          }
+        })
+    },
+    uploadSuccessHandletravel(e) {
+      this.$set(this.addressUrls, 'travel', e.url)
+    },
+    uploadSuccessHandledrive(e) {
+      this.$set(this.addressUrls, 'drive', e.url)
+    },
+    uploadSuccessHandleway(e) {
+      this.$set(this.addressUrls, 'way', e.url)
+      this.addressUrls.way = e.url
+    },
+    uploadSuccessHandlequalification(e) {
+      this.$set(this.addressUrls, 'qualification', e.url)
+    },
+    uploadSuccessHandleidentityjust(e) {
+      this.$set(this.addressUrls, 'identityjust', e.url)
+    },
+    uploadSuccessHandleidentityagainst(e) {
+      this.$set(this.addressUrls, 'identityagainst', e.url)
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleClose() {
+      this.dialogViewSpareMoney = false
+    },
+    add() {
+      this.deptBudgetList.driverCarInfoList.push({
+        carNumber: '',
+        carModel: '高栏',
+        carModelKey: '1',
+        carLength: '13',
+        carLengthKey: '1',
+        carLoad: '',
+        yearManufacture: '',
+      })
+    },
+    del(row, index) {
+      if (this.deptBudgetList.driverCarInfoList.length > 1) {
+        if (row.id) {
+          deltrancar({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$message.success('删除成功')
+            })
+        }
+        this.deptBudgetList.driverCarInfoList.splice(index, 1)
+      }
+    },
+    add1() {
+      this.deptBudgetList.driverPayeeInfoList.push({
+        accountTypeFlag: '1',
+        cardAddressUrl: '',
+        cardAddressUrlArray: [],
+        payeeName: '',
+        payeeNumberCard: '',
+        compName: '',
+        bankDeposit: '',
+        bankCard: '',
+      })
+    },
+    del1(row, index) {
+      if (this.deptBudgetList.driverPayeeInfoList.length > 1) {
+        if (row.id) {
+          deltranprocess({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$message.success('删除成功')
+            })
+        }
+        this.deptBudgetList.driverPayeeInfoList.splice(index, 1)
+      }
+    },
+    identitycardfujian(item) {},
+    handleChange(value) {
+      this.selectedOptions = value
+      console.log(this.selectedOptions)
+    },
+    returnsales() {
+      this.$router.push({ path: 'tranManagementDriver' })
+    },
+    // confirmPosition() {
+    //   this.draggable = false
+    // },
+    // 上传附件
+    uploadSuccess(data, files, url) {
+      console.log(data, files, url)
+
+      // this.deptBudgetList.
+      // this.formData.append('files', files)
+      // this.feedbackObj.uploadNameAttachment = data.appendixName
+      // this.feedbackObj.pathUploadAttachment = data.appendixPath
+      // // this.newAppendixs = files
+      // this.onChangeFlag = true
+    },
+    selectcarModel(e, index) {
+      for (var i = 0; i < this.carModelList.length; i++) {
+        if (this.carModelList[i].constValue == e) {
+          this.deptBudgetList.driverCarInfoList[index].carModelKey =
+            this.carModelList[i].constKey
+        }
+      }
+    },
+    selectcarLength(e, index) {
+      for (var i = 0; i < this.carLengthList.length; i++) {
+        if (this.carLengthList[i].constValue == e) {
+          this.deptBudgetList.driverCarInfoList[index].carLengthKey =
+            this.carLengthList[i].constKey
+        }
+      }
+    },
+    selectbankDepositBranch(e, index) {
+      console.log(e, index)
+      this.deptBudgetList.driverPayeeInfoList[index].bankDepositBranch = e
+    },
+    onChange(files) {
+      this.fileNum = files
+      this.$refs.upload.handleSaveBill().then((res) => {
+        console.log(files)
+      })
+    },
+
+    submit() {
+      this.$refs.deptBudgetList.validate((valid) => {
+        if (valid) {
+          this.deptBudgetList.compId = sessionStorage.getItem('ws-pf_compId')
+          this.deptBudgetList.residentCityProvincial =
+            CodeToText[this.selectedOptions[0]]
+          this.deptBudgetList.residentCityMunicipal =
+            CodeToText[this.selectedOptions[1]]
+          editdriver(this.deptBudgetList)
+            .toPromise()
+            .then((response) => {
+              this.$message.success('添加成功')
+              this.$router.push({ path: 'tranManagementDriver' })
+            })
+        } else {
+          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+          return false
+        }
+      })
+    },
+    resetForm(deptBudgetList) {
+      this.$refs[deptBudgetList].resetFields()
+    },
+  },
+}
+</script>
+
+<style lang="scss" scoped>
+.position {
+  position: relative;
+}
+.add,
+.del {
+  position: absolute;
+  right: -38px;
+  top: 9px;
+  cursor: pointer;
+}
+.del {
+  right: -70px;
+}
+.amap-page-container {
+  width: 300px;
+  height: 300px;
+}
+.el-form {
+  padding: 0 10%;
+}
+/deep/.ws-info-table .el-form-item {
+  border-right: 1px solid #cdd2dc;
+  border-bottom: 1px solid #cdd2dc;
+}
+.readonly {
+  position: relative;
+}
+.title {
+  position: relative;
+}
+.el-car {
+  width: 413px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-col {
+  background: #f6f7fc;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__content {
+  padding: 0 25px;
+  border-left: 1px solid #cdd2dc;
+  background: #fafbfc;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  width: 140px;
+  text-align: center;
+  background: #f0f2f6;
+  // border: 1px solid #cdd2dc;
+}
+.button-container {
+  display: flex;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #fff;
+  width: 100%;
+  height: 50px;
+  padding: 0 10px;
+  & > div {
+    margin-left: 10px;
+    display: flex;
+    flex-wrap: nowrap;
+    flex-direction: row;
+    & > span {
+      line-height: 50px;
+    }
+  }
+
+  /deep/.auditFlow-box {
+    position: unset;
+    margin-left: 10px;
+    &/deep/.auditFlow-icon {
+      width: auto;
+      padding-right: 30px;
+    }
+    &/deep/.auditFlow-main {
+      position: absolute;
+    }
+  }
+}
+.box-app {
+  display: inline-block;
+  float: left;
+  margin-left: 30px;
+  line-height: 50px;
+}
+/deep/.el-dialog {
+  .el-form-item {
+    margin-bottom: 0 !important;
+    .el-input--medium {
+      textarea {
+        min-height: 100px !important;
+      }
+    }
+  }
+}
+.collapse-bottom {
+  margin-bottom: 20px;
+}
+.input-main .textarea .el-textarea__inner {
+  width: 100%;
+  z-index: 1;
+}
+.bg-left {
+  padding-left: 30px;
+}
+.bg-right {
+  padding-right: 10px;
+  text-align: right;
+}
+.bg-bottom {
+  margin: 15px 0px;
+}
+.wenzi {
+  width: 900px;
+  margin: 0 auto;
+}
+.wenzi h3 {
+  display: inline-block;
+  left: 10px;
+}
+.wenzi p {
+  display: inline-block;
+}
+.center {
+  width: 900px;
+  margin: 0 auto;
+}
+.el-form-item__label {
+  text-align: center;
+}
+.el-table {
+  width: 1240px;
+}
+.ce {
+  width: 900px;
+  margin: 0 auto;
+}
+.driver {
+  width: 120px;
+  margin-top: 10px;
+  font-weight: bold;
+}
+
+// 控制select为只读的时候显示样式
+/deep/.ws-class-table-col {
+  height: auto;
+  padding: 0px 2px;
+  /deep/.el-input__inner {
+    padding: 0px 2px;
+  }
+}
+.winseaview-view {
+  padding: 0 0 20px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  width: 80px;
+}
+/deep/.ws-info-table .el-form-item {
+  width: 25%;
+}
+.el-textarea__inner {
+  display: none;
+}
+.el-form {
+  margin-top: 50px;
+}
+.readonly {
+  width: 16%;
+}
+.el-cascader {
+  width: 145px;
+}
+.forlist {
+  width: 20%;
+}
+.el-form-item.forlist.is-success.el-form-item--small {
+  width: 20%;
+}
+.el-form-item.forlist.el-form-item--small {
+  width: 20%;
+}
+.el-form-item.readonly.is-success.el-form-item--small.showLableToopTip {
+  width: 20%;
+}
+.el-form-item.el-car.el-form-item--small {
+  width: 33.3%;
+}
+</style>

+ 242 - 209
src/views/tranManagement/tranManagementTransportAdd.vue

@@ -122,9 +122,9 @@
       >
         <div class="flex">
           <ws-info-table class="el-table">
+            <div class="start-address">
             <el-radio v-model="item.radio" label="1">只有库发货</el-radio>
-              <el-radio v-model="item.radio" label="2">临时库发货</el-radio>
-            <!-- <ws-form-item label="" span="1"> -->
+            <el-radio v-model="item.radio" label="2">临时库发货</el-radio>
             <ws-select
               v-model="deptBudgetList.inOutType"
               placeholder=""
@@ -138,14 +138,14 @@
                 :value="item.constValue"
               />
             </ws-select>
-            
+            </div>
           <!-- </ws-form-item> -->
             <!--始发地-->
-            <ws-form-item label="始发地" span="1">
+            <ws-form-item label="始发地" span="1" class="start-address">
             <ws-select
               v-model="deptBudgetList.inOutType"
               placeholder=""
-              class="typeselect"
+              class="start-address"
               @change="selectstorageType"
             >
               <ws-option
@@ -161,7 +161,7 @@
             label="始发地详细地址"
             span="1"
             prop="startDetailedAddress"
-            class="readonly bg-right"
+            class=" bg-right start-address"
           >
             <ws-input
               v-model="deptBudgetList.driverName"
@@ -170,14 +170,13 @@
               size="small"
             />
           </ws-form-item>
-        
-          <ws-form-item prop="receiveWarehouse" label="" span="10"></ws-form-item>
+
           <!-- 收获库点 -->
             <ws-form-item
             label="收获库点"
             span="1"
             prop="contractNo"
-            class="readonly bg-right"
+            class="start-address"
           >
            <ws-select
               v-model="deptBudgetList.inOutType"
@@ -199,7 +198,7 @@
             label="终到地"
             span="1"
             prop="contractNo"
-            class="readonly bg-right"
+            class="start-address"
           >
             <ws-select
               v-model="deptBudgetList.inOutType"
@@ -220,7 +219,7 @@
             label="终到地详细地址"
             span="1"
             prop="endDetailedAddress"
-            class="readonly bg-right"
+            class="start-address"
           >
             <ws-input
               v-model="deptBudgetList.endDetailedAddress"
@@ -234,22 +233,28 @@
          
       </div>
     </ws-form>
-    <span class="zi">运输方式</span>
-  <el-checkbox-group v-model="checkList" prop="tranType">
-    <el-checkbox label="汽运" ></el-checkbox>
-    <el-checkbox label="火运"></el-checkbox>
-    <el-checkbox label="船运"></el-checkbox>
-  </el-checkbox-group>
+    <div>
+    <span class="check-box">运输方式</span>
+    <el-checkbox-group v-model="checkList" prop="tranType">
+      <el-checkbox label="汽运" ></el-checkbox>
+      <el-checkbox label="火运"></el-checkbox>
+      <el-checkbox label="船运"></el-checkbox>
+    </el-checkbox-group>
+    </div>
   
-    <ws-form
+
+  <ws-form
       ref="deptBudgetList"
       :rules="mainReportAdd"
       :model="deptBudgetList"
     >
-    <div class="small-title">运输阶段1(123456789)</div>
-    <!--运输方式-->
-    <div class="neifor">
-        <ws-info-table>
+      <div
+        style="width: 100%"
+        class="flex position"
+        v-for="(item, index) in freightspace"
+      >
+          <div class="driver">运输阶段-{{ index + 1 }}</div>
+         <ws-info-table>
           <!--运输方式-->
           <ws-form-item label="运输方式" span="1" prop="waterContent">
             <ws-input
@@ -278,8 +283,6 @@
             />
           </ws-form-item>
         </ws-info-table>
-      </div>
-       <div class="nei">
          <ws-info-table>
           <!--发货地区-->
           <ws-form-item label="发货地区" span="1" prop="waterContent">
@@ -325,8 +328,6 @@
             />
           </ws-form-item>
         </ws-info-table>
-      </div>
-      <div class="nei">
          <ws-info-table>
           <!--收货日期-->
           <ws-form-item label="收货地区" span="1" prop="waterContent">
@@ -372,7 +373,23 @@
             />
           </ws-form-item>
         </ws-info-table>
-      </div>
+          <img
+            width="22"
+            height="22"
+            class="add"
+            @click="add"
+            src="../../../public/img/add.png"
+            alt=""
+          />
+          <img
+            width="22"
+            height="22"
+            class="del"
+            @click="del(index)"
+            src="../../../public/img/del.png"
+            alt=""
+          />
+        </div>
     </ws-form>
     <!-- 提交 -->
     <div style="text-align: right; padding: 10px" class="center">
@@ -607,19 +624,22 @@ export default {
 .position {
   position: relative;
 }
-.add,
 .del {
   position: absolute;
   right: -38px;
   top: 9px;
   cursor: pointer;
 }
-.del {
-  right: -70px;
+.el-checkbox-group {
+    font-size: 0;
+    float: right;
+    margin-top: 20px;
+    margin-right: 1200px;
 }
-.amap-page-container {
-  width: 300px;
-  height: 300px;
+.check-box[data-v-5c5ac25d] {
+    margin-left: 170px;
+    margin-top: 20px;
+    float: left;
 }
 .el-form {
   padding: 0 10%;
@@ -634,9 +654,6 @@ export default {
 .title {
   position: relative;
 }
-.el-car {
-  width: 413px;
-}
 .title::before {
   content: '';
   display: inline-block;
@@ -646,74 +663,85 @@ export default {
   position: absolute;
   left: 0;
 }
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
+//去边框
+/deep/.el-form-item {
+  border-right: 0px;
+  border-bottom: 0px;
 }
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
+.el-form {
+  margin-top: 50px;
 }
-.collapse-bottom {
-  margin-bottom: 20px;
+.el-form-item.start-address.el-form-item--small {
+    width: 33.3%;
 }
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
+.el-col {
+  background: #f6f7fc;
 }
+// /deep/.ws-info-table .el-form-item .el-form-item__content {
+//   padding: 0 25px;
+//   border-left: 1px solid #cdd2dc;
+//   background: #fafbfc;
+// }
+// /deep/.ws-info-table .el-form-item .el-form-item__label {
+//   width: 140px;
+//   text-align: center;
+//   background: #f0f2f6;
+//   // border: 1px solid #cdd2dc;
+// }
+// .button-container {
+//   display: flex;
+//   flex-wrap: nowrap;
+//   justify-content: space-between;
+//   align-items: center;
+//   background-color: #fff;
+//   width: 100%;
+//   height: 50px;
+//   padding: 0 10px;
+//   & > div {
+//     margin-left: 10px;
+//     display: flex;
+//     flex-wrap: nowrap;
+//     flex-direction: row;
+//     & > span {
+//       line-height: 50px;
+//     }
+//   }
+
+//   /deep/.auditFlow-box {
+//     position: unset;
+//     margin-left: 10px;
+//     &/deep/.auditFlow-icon {
+//       width: auto;
+//       padding-right: 30px;
+//     }
+//     &/deep/.auditFlow-main {
+//       position: absolute;
+//     }
+//   }
+// }
+// .box-app {
+//   display: inline-block;
+//   float: left;
+//   margin-left: 30px;
+//   line-height: 50px;
+// }
+// /deep/.el-dialog {
+//   .el-form-item {
+//     margin-bottom: 0 !important;
+//     .el-input--medium {
+//       textarea {
+//         min-height: 100px !important;
+//       }
+//     }
+//   }
+// }
+// .collapse-bottom {
+//   margin-bottom: 20px;
+// }
+// .input-main .textarea .el-textarea__inner {
+//   width: 100%;
+//   z-index: 1;
+// }
 .bg-left {
   padding-left: 30px;
 }
@@ -724,114 +752,119 @@ export default {
 .bg-bottom {
   margin: 15px 0px;
 }
-.wenzi {
-  width: 900px;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 900px;
-  margin: 0 auto;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.el-table {
-  width: 1240px;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-.driver {
-  width: 120px;
-  margin-top: 10px;
-  font-weight: bold;
-}
+.el-radio, .el-radio__input {
+    margin-top: 11px;
+    margin-left: 11px;
+    width: 93px;
+}
+// .wenzi {
+//   width: 900px;
+//   margin: 0 auto;
+// }
+// .wenzi h3 {
+//   display: inline-block;
+//   left: 10px;
+// }
+// .wenzi p {
+//   display: inline-block;
+// }
+// .center {
+//   width: 900px;
+//   margin: 0 auto;
+// }
+// .el-form-item__label {
+//   text-align: center;
+// }
+// .el-table {
+//   width: 1240px;
+// }
+// .ce {
+//   width: 900px;
+//   margin: 0 auto;
+// }
+// .driver {
+//   width: 120px;
+//   margin-top: 10px;
+//   font-weight: bold;
+// }
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 80px;
-}
+// // 控制select为只读的时候显示样式
+// /deep/.ws-class-table-col {
+//   height: auto;
+//   padding: 0px 2px;
+//   /deep/.el-input__inner {
+//     padding: 0px 2px;
+//   }
+// }
+// .winseaview-view {
+//   padding: 0 0 20px;
+// }
+// .container {
+//   overflow: scroll;
+//   height: 93vh;
+// }
+// /deep/.ws-info-table .el-form-item .el-form-item__label {
+//   width: 80px;
+// }
 /deep/.ws-info-table .el-form-item {
-  width: 25%;
-}
-.el-textarea__inner {
-  display: none;
-}
-.el-form {
-  margin-top: 50px;
-}
-.readonly {
-  width: 16%;
-}
-.el-cascader {
-  width: 145px;
-}
-.forlist {
-  width: 20%;
-}
-.el-form-item.forlist.is-success.el-form-item--small {
-  width: 20%;
-}
-.el-form-item.forlist.el-form-item--small {
   width: 20%;
 }
-.el-form-item.readonly.is-success.el-form-item--small.showLableToopTip {
-  width: 20%;
-}
-.el-form-item.el-car.el-form-item--small {
-  width: 33.3%;
-}
-.zi{
+// .el-textarea__inner {
+//   display: none;
+// }
+// .el-form {
+//   margin-top: 50px;
+// }
+// .readonly {
+//   width: 16%;
+// }
+// .el-cascader {
+//   width: 145px;
+// }
+// .forlist {
+//   width: 20%;
+// }
+// .el-form-item.forlist.is-success.el-form-item--small {
+//   width: 20%;
+// }
+// .el-form-item.forlist.el-form-item--small {
+//   width: 20%;
+// }
+// .el-form-item.readonly.is-success.el-form-item--small.showLableToopTip {
+//   width: 20%;
+// }
+// .el-form-item.el-car.el-form-item--small {
+//   width: 33.3%;
+// }
+.check-box{
    margin-left: 170px;
 }
-.el-checkbox-group{
-  margin-left: 240px;
-    margin-top: -17px;
-}
-/deep/.neifor {
-  .ws-info-table {
-    border: none;
-  }
-  .el-form-item {
-    // width: 33.3333%;
-    border: none;
-    .el-form-item__label {
-      background: transparent;
-      border: none;
-    }
-    .el-form-item__content {
-      border: none;
-    }
-  }
-}
+// .el-checkbox-group{
+//   margin-left: 240px;
+//     margin-top: -17px;
+// }
+// /deep/.neifor {
+//   .ws-info-table {
+//     border: none;
+//   }
+//   .el-form-item {
+//     // width: 33.3333%;
+//     border: none;
+//     .el-form-item__label {
+//       background: transparent;
+//       border: none;
+//     }
+//     .el-form-item__content {
+//       border: none;
+//     }
+//   }
+// }
 /deep/.nei {
   .ws-info-table {
     border: none;
   }
   .el-form-item {
-    // width: 33.3333%;
+    width: 33.3333%;
     border: none;
     .el-form-item__label {
       background: transparent;
@@ -842,17 +875,17 @@ export default {
     }
   }
 }
-.ws-info-table .el-form-item .el-form-item__label {
-    width: min-content;
-}
-.el-select>.el-input {
-    display: block;
-    width: 190px;
-}
-.ws-info-table .el-form-item {
-    width: 20%;
-    border: none;
-    background: transparent;
-}
+// .ws-info-table .el-form-item .el-form-item__label {
+//     width: min-content;
+// }
+// .el-select>.el-input {
+//     display: block;
+//     width: 190px;
+// }
+// .ws-info-table .el-form-item {
+//     width: 20%;
+//     border: none;
+//     background: transparent;
+// }
 
 </style>

+ 8 - 9
src/views/warehouse/warehouseManagementList.vue

@@ -1,6 +1,5 @@
 <!--仓库管理-->
 <template>
-   
   <div>
     <BaseHeaderLayout :leftSpan="20">
       <template slot="left">
@@ -79,7 +78,7 @@
         style="width: 100%; margin-top: 20px"
         height="780"
       >
-        <el-table-column prop="warehouseName" label="库房名" width="80" >
+        <el-table-column prop="warehouseName" label="库房名" width="80">
         </el-table-column>
         <el-table-column prop="binNumber" label="仓位编号" width="80">
         </el-table-column>
@@ -92,7 +91,7 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column class="table_td" label="品种">
+        <el-table-column label="品种">
           <template slot-scope="scope">
             <div
               style="height: 24px"
@@ -102,7 +101,7 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column class="table_td" label="入库量(吨)">
+        <el-table-column label="入库量(吨)">
           <template slot-scope="scope">
             <div
               style="height: 24px"
@@ -112,7 +111,7 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column class="table_td" label="出库量(吨)">
+        <el-table-column label="出库量(吨)">
           <template slot-scope="scope">
             <div
               style="height: 24px"
@@ -122,7 +121,7 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column class="table_td" label="应余量(吨)">
+        <el-table-column label="应余量(吨)">
           <template slot-scope="scope">
             <div
               style="height: 24px"
@@ -171,12 +170,11 @@
         </el-table-column>
       </el-table>
     </div>
-   
   </div>
 </template>
 <script>
 import {
-   getList,
+  getList,
   export1,
   editstatus,
   billoperatehis,
@@ -559,7 +557,8 @@ export default {
   -webkit-line-clamp: 10;
   max-height: 400px;
 }
-.record ,.adjustment {
+.record,
+.adjustment {
   display: inline-block;
   color: #5878e8;
   padding: 0 4px !important;

+ 2 - 2
src/views/warehouse/warehouseManagementLook.vue

@@ -101,8 +101,8 @@
               {{ item.maxStorage }}
             </ws-form-item>
             <!--现有储量-->
-            <ws-form-item :label="wwss" span="1" prop="nowStorage" >
-              {{ item.nowStorage }}
+            <ws-form-item :label='"现有储量("+item.nowStorage+"吨)"' span="1" prop="detailStorage" >
+              {{ item.detailStorage }}
             </ws-form-item>
             <!--备注(选填)-->
             <ws-form-item label="备注(选填)" span="1" prop="remark">