作者 王勇

基础界面,基本完成

@@ -12,6 +12,8 @@ export const updateVehicle = params =>{return http.put(`${baseUrl}/vehicle/updat @@ -12,6 +12,8 @@ export const updateVehicle = params =>{return http.put(`${baseUrl}/vehicle/updat
12 export const deleteVehicle = params =>{return http.del(`${baseUrl}/vehicle/delete`, params);}; 12 export const deleteVehicle = params =>{return http.del(`${baseUrl}/vehicle/delete`, params);};
13 // 车辆信息,批量删除 13 // 车辆信息,批量删除
14 export const batchRemoveVehicle = params =>{return http.del(`${baseUrl}/vehicle/batchRemove`, params);}; 14 export const batchRemoveVehicle = params =>{return http.del(`${baseUrl}/vehicle/batchRemove`, params);};
  15 +// 车辆信息,审批
  16 +export const approvalVehicle = params =>{return http.put(`${baseUrl}/vehicle/approval`, params);};
15 17
16 // 挂车信息,分页查询 18 // 挂车信息,分页查询
17 export const selectTrailerList = params =>{return http.get(`${baseUrl}/trailer/page`, params);}; 19 export const selectTrailerList = params =>{return http.get(`${baseUrl}/trailer/page`, params);};
@@ -42,8 +42,8 @@ @@ -42,8 +42,8 @@
42 fixStyle: '', 42 fixStyle: '',
43 logining: false, 43 logining: false,
44 ruleForm2: { 44 ruleForm2: {
45 - account: 'admin',  
46 - checkPass: 'vmvnv1v2VV' 45 + account: 'zicheng',
  46 + checkPass: '123456'
47 }, 47 },
48 rules2: { 48 rules2: {
49 account: [ 49 account: [
1 <template> 1 <template>
2 - 2 + <el-container>
  3 + <el-card style="background-color: #F5F7FA">
  4 + <!-- 搜素区域 -->
  5 + <div>
  6 + <el-row :gutter="10">
  7 + <el-col :span="4">
  8 + <el-input v-model="corporation_queryInfo.coCode" prefix-icon="el-icon-search" size="small"
  9 + placeholder="企业代码" clearable></el-input>
  10 + </el-col>
  11 + <el-col :span="8">
  12 + <el-button type="success" style="width:120px" size="small" @click="corporation_getList">
  13 + 查询
  14 + </el-button>
  15 + <el-button type="primary" style="width:120px" size="small" @click="corporation_toAddDialog">
  16 + 备案添加
  17 + </el-button>
  18 + </el-col>
  19 + </el-row>
  20 + </div>
  21 +
  22 + <!-- 列表区域 -->
  23 + <div style="margin-top: 20px;">
  24 + <el-table :data="corporation_page.corporationList" border size="mini" @selection-change="corporation_selectChange"
  25 + v-loading="corporation_loading.listLoading" element-loading-text="获取企业列表,拼命加载中">
  26 + <el-table-column type="selection" width="55" align="center"></el-table-column>
  27 + <el-table-column type="index" align="center"></el-table-column>
  28 + <el-table-column label="企业代码" prop="coCode" align="center" width="100"></el-table-column>
  29 + <el-table-column label="主管海关代码" prop="mainPort" align="center" width="100"></el-table-column>
  30 + <el-table-column label="企业注册地" prop="coRegAddr" align="center" width="100"></el-table-column>
  31 + <el-table-column label="企业类别" prop="coDealType" align="center" width="80"></el-table-column>
  32 + <el-table-column label="批准行驶口岸" prop="apprPorts" align="center" width="80"></el-table-column>
  33 + <el-table-column label="企业负责人" prop="coRep" align="center" width="100"></el-table-column>
  34 + <el-table-column label="负责人电话" prop="coRepPhon" align="center" width="90"></el-table-column>
  35 + <el-table-column label="运输工具服务企业" prop="coServiceName" align="center" width="90"></el-table-column>
  36 + <el-table-column label="担保企业名称" prop="assureCoName" align="center" width="90"></el-table-column>
  37 + <!-- 内承企业名称:没找到对应字段 -->
  38 + <el-table-column label="内承企业名称" prop="" align="center" width="90"></el-table-column>
  39 + <el-table-column label="所属分支机构" prop="belongOrgName" align="center" width="90"></el-table-column>
  40 +
  41 + <el-table-column label="更新时间" prop="updateDate" align="center" width="150"></el-table-column>
  42 + <el-table-column label="操作" width="180px" align="center" fixed="right">
  43 + <template slot-scope="scope">
  44 + <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
  45 + <el-button type="text" icon="el-icon-edit" size="mini"
  46 + @click="corporation_toEditDialog(scope.$index,scope.row)">编辑
  47 + </el-button>
  48 + </el-tooltip>
  49 + <el-tooltip effect="dark" content="删除" placement="top-start" :enterable="false">
  50 + <el-button type="text" icon="el-icon-delete" size="mini"
  51 + :loading="corporation_loading.delLoading"
  52 + @click="corporation_delete(scope.$index,scope.row)">删除
  53 + </el-button>
  54 + </el-tooltip>
  55 + </template>
  56 + </el-table-column>
  57 + </el-table>
  58 + </div>
  59 +
  60 + <!-- 分页区域 -->
  61 + <div style="margin-top: 10px">
  62 + <el-row :gutter="24">
  63 + <el-col :span="5">
  64 + <el-button type="danger" icon="el-icon-delete"
  65 + :loading="corporation_loading.listLoading"
  66 + :disabled="this.corporation_page.selectList.length===0"
  67 + size="small"
  68 + @click="corporation_batchRemove">批量删除
  69 + </el-button>
  70 + </el-col>
  71 + <el-col :span="10" style="margin-top: 5px">
  72 + <el-pagination
  73 + @size-change="corporation_handleSizeChange"
  74 + @current-change="corporation_handleCurrentChange"
  75 + :current-page="corporation_queryInfo.pageNum"
  76 + :page-sizes="[10,30,50,100]"
  77 + :page-size="corporation_queryInfo.pageSize"
  78 + layout="total, sizes, prev, pager, next, jumper"
  79 + :total="corporation_page.total">
  80 + </el-pagination>
  81 + </el-col>
  82 + </el-row>
  83 + </div>
  84 + </el-card>
  85 +
  86 + <!-- 备案添加 -->
  87 + <div>
  88 + <el-dialog title="企业信息:备案添加"
  89 + :visible.sync="corporation_dialog.addDialog"
  90 + style="margin-top: -80px" text-align="center" width="70%"
  91 + @close="corporation_addDialogClosed">
  92 + <el-form :inline="true" label-width="180px" status-icon style="margin-top: -10px;margin-left: 60px"
  93 + :model="corporation_addForm" :rules="corporation_addFormRules" ref="corporation_addFormRef">
  94 + <el-form-item label="企业代码:" prop="coCode">
  95 + <el-input v-model="corporation_addForm.coCode" style="width:240px" size="mini" clearable
  96 + placeholder="请输入企业代码">
  97 + </el-input>
  98 + </el-form-item>
  99 +
  100 + <el-form-item label="主管海关代码:" prop="mainPort">
  101 + <el-input v-model="corporation_addForm.mainPort" style="width:240px" size="mini" clearable
  102 + placeholder="请输入主管海关代码">
  103 + </el-input>
  104 + </el-form-item>
  105 +
  106 + <el-form-item label="企业注册地:" prop="coRegAddr">
  107 + <el-input v-model="corporation_addForm.coRegAddr" style="width:240px" size="mini" clearable
  108 + placeholder="请输入企业注册地">
  109 + </el-input>
  110 + </el-form-item>
  111 +
  112 + <el-form-item label="批准海关:" prop="apprDep">
  113 + <el-input v-model="corporation_addForm.apprDep" style="width:240px" size="mini" clearable
  114 + placeholder="请输入批准海关">
  115 + </el-input>
  116 + </el-form-item>
  117 +
  118 + <el-form-item label="批准/许可批文号:" prop="apprNo">
  119 + <el-input v-model="corporation_addForm.apprNo" style="width:240px" size="mini" clearable
  120 + placeholder="请输入批准/许可批文号">
  121 + </el-input>
  122 + </el-form-item>
  123 +
  124 + <el-form-item label="批准/许可批文有效期:" prop="apprValidTime">
  125 + <el-date-picker v-model="corporation_addForm.apprValidTime" placeholder="批准/许可批文有效期"
  126 + type="date" value-format="yyyy-MM-dd"
  127 + size="mini" style="width:240px"></el-date-picker>
  128 + </el-form-item>
  129 +
  130 + <el-form-item label="批准行驶口岸:" prop="apprPorts">
  131 + <el-input v-model="corporation_addForm.apprPorts" style="width:240px" size="mini" clearable
  132 + placeholder="请输入批准行驶口岸">
  133 + </el-input>
  134 + </el-form-item>
  135 +
  136 + <el-form-item label="企业中文名称:" prop="coNameCn">
  137 + <el-input v-model="corporation_addForm.coNameCn" style="width:240px" size="mini" clearable
  138 + placeholder="请输入企业中文名称">
  139 + </el-input>
  140 + </el-form-item>
  141 +
  142 + <el-form-item label="企业外文名称:" prop="coNameEn">
  143 + <el-input v-model="corporation_addForm.coNameEn" style="width:240px" size="mini" clearable
  144 + placeholder="请输入企业外文名称">
  145 + </el-input>
  146 + </el-form-item>
  147 +
  148 + <el-form-item label="企业地址:" prop="coAddr">
  149 + <el-input v-model="corporation_addForm.coAddr" style="width:240px" size="mini" clearable
  150 + placeholder="请输入企业地址">
  151 + </el-input>
  152 + </el-form-item>
  153 +
  154 + <el-form-item label="境内联系电话:" prop="insidePhone">
  155 + <el-input v-model="corporation_addForm.insidePhone" style="width:240px" size="mini" clearable
  156 + placeholder="请输入境内联系电话">
  157 + </el-input>
  158 + </el-form-item>
  159 +
  160 + <el-form-item label="企业经营类型:" prop="coDealType">
  161 + <el-select v-model="corporation_addForm.coDealType" style="width: 240px" clearable size="small"
  162 + placeholder="请选择企业经营类型">
  163 + <el-option
  164 + v-for="item in coDealTypeList"
  165 + :key="item.value"
  166 + :label="item.label"
  167 + :value="item.value">
  168 + </el-option>
  169 + </el-select>
  170 + </el-form-item>
  171 +
  172 + <el-form-item label="企业负责人:" prop="coRep">
  173 + <el-input v-model="corporation_addForm.coRep" style="width:240px" size="mini" clearable
  174 + placeholder="请输入企业负责人">
  175 + </el-input>
  176 + </el-form-item>
  177 +
  178 + <el-form-item label="企业负责人联系电话:" prop="coRepPhon">
  179 + <el-input v-model="corporation_addForm.coRepPhon" style="width:240px" size="mini" clearable
  180 + placeholder="请输入企业负责人联系电话">
  181 + </el-input>
  182 + </el-form-item>
  183 +
  184 + <el-form-item label="境内联系地址:" prop="insideAddr">
  185 + <el-input v-model="corporation_addForm.insideAddr" style="width:240px" size="mini" clearable
  186 + placeholder="请输入境内联系地址">
  187 + </el-input>
  188 + </el-form-item>
  189 +
  190 + <el-form-item label="企业经营资格:" prop="coDealQua">
  191 + <el-input v-model="corporation_addForm.coDealQua" style="width:240px" size="mini" clearable
  192 + placeholder="请输入企业经营资格">
  193 + </el-input>
  194 + </el-form-item>
  195 +
  196 + <el-form-item label="企业备案类别:" prop="coRecType">
  197 + <el-select v-model="corporation_addForm.coRecType" style="width: 240px" clearable size="small"
  198 + placeholder="请选择企业备案类别">
  199 + <el-option
  200 + v-for="item in coRecTypeList"
  201 + :key="item.value"
  202 + :label="item.label"
  203 + :value="item.value">
  204 + </el-option>
  205 + </el-select>
  206 + </el-form-item>
  207 +
  208 + <el-form-item label="最新更新申请业务类型:" prop="currApplyBussine">
  209 + <el-input v-model="corporation_addForm.currApplyBussine" style="width:240px" size="mini" clearable
  210 + placeholder="请输入最新更新申请业务类型">
  211 + </el-input>
  212 + </el-form-item>
  213 +
  214 + <el-form-item label="备注:" prop="memo">
  215 + <el-input v-model="corporation_addForm.memo" style="width:645px" clearable size="mini"
  216 + type="textarea" :rows="3">
  217 + </el-input>
  218 + </el-form-item>
  219 + </el-form>
  220 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
  221 + <el-button type="info" @click="corporation_dialog.addDialog = false" size="medium"
  222 + style="width: 100px">取消
  223 + </el-button>
  224 + <el-button type="primary" @click="corporation_add" :loading="corporation_loading.addLoading"
  225 + size="medium" style="width: 100px">保存
  226 + </el-button>
  227 + </div>
  228 + </el-dialog>
  229 + </div>
  230 +
  231 + <!-- 备案修改 -->
  232 + <div>
  233 + <el-dialog title="企业信息:备案修改"
  234 + :visible.sync="corporation_dialog.editDialog"
  235 + style="margin-top: -80px" text-align="center" width="70%"
  236 + @close="corporation_editDialogClosed">
  237 + <el-form :inline="true" label-width="180px" status-icon style="margin-top: -10px;margin-left: 60px"
  238 + :model="corporation_editForm" :rules="corporation_editFormRules" ref="corporation_editFormRef">
  239 + <el-form-item label="企业代码:" prop="coCode">
  240 + <el-input v-model="corporation_editForm.coCode" style="width:240px" size="mini" clearable
  241 + placeholder="请输入企业代码">
  242 + </el-input>
  243 + </el-form-item>
  244 +
  245 + <el-form-item label="主管海关代码:" prop="mainPort">
  246 + <el-input v-model="corporation_editForm.mainPort" style="width:240px" size="mini" clearable
  247 + placeholder="请输入主管海关代码">
  248 + </el-input>
  249 + </el-form-item>
  250 +
  251 + <el-form-item label="企业注册地:" prop="coRegAddr">
  252 + <el-input v-model="corporation_editForm.coRegAddr" style="width:240px" size="mini" clearable
  253 + placeholder="请输入企业注册地">
  254 + </el-input>
  255 + </el-form-item>
  256 +
  257 + <el-form-item label="批准海关:" prop="apprDep">
  258 + <el-input v-model="corporation_editForm.apprDep" style="width:240px" size="mini" clearable
  259 + placeholder="请输入批准海关">
  260 + </el-input>
  261 + </el-form-item>
  262 +
  263 + <el-form-item label="批准/许可批文号:" prop="apprNo">
  264 + <el-input v-model="corporation_editForm.apprNo" style="width:240px" size="mini" clearable
  265 + placeholder="请输入批准/许可批文号">
  266 + </el-input>
  267 + </el-form-item>
  268 +
  269 + <el-form-item label="批准/许可批文有效期:" prop="apprValidTime">
  270 + <el-date-picker v-model="corporation_editForm.apprValidTime" placeholder="批准/许可批文有效期"
  271 + type="date" value-format="yyyy-MM-dd"
  272 + size="mini" style="width:240px"></el-date-picker>
  273 + </el-form-item>
  274 +
  275 + <el-form-item label="批准行驶口岸:" prop="apprPorts">
  276 + <el-input v-model="corporation_editForm.apprPorts" style="width:240px" size="mini" clearable
  277 + placeholder="请输入批准行驶口岸">
  278 + </el-input>
  279 + </el-form-item>
  280 +
  281 + <el-form-item label="企业中文名称:" prop="coNameCn">
  282 + <el-input v-model="corporation_editForm.coNameCn" style="width:240px" size="mini" clearable
  283 + placeholder="请输入企业中文名称">
  284 + </el-input>
  285 + </el-form-item>
  286 +
  287 + <el-form-item label="企业外文名称:" prop="coNameEn">
  288 + <el-input v-model="corporation_editForm.coNameEn" style="width:240px" size="mini" clearable
  289 + placeholder="请输入企业外文名称">
  290 + </el-input>
  291 + </el-form-item>
  292 +
  293 + <el-form-item label="企业地址:" prop="coAddr">
  294 + <el-input v-model="corporation_editForm.coAddr" style="width:240px" size="mini" clearable
  295 + placeholder="请输入企业地址">
  296 + </el-input>
  297 + </el-form-item>
  298 +
  299 + <el-form-item label="境内联系电话:" prop="insidePhone">
  300 + <el-input v-model="corporation_editForm.insidePhone" style="width:240px" size="mini" clearable
  301 + placeholder="请输入境内联系电话">
  302 + </el-input>
  303 + </el-form-item>
  304 +
  305 + <el-form-item label="企业经营类型:" prop="coDealType">
  306 + <el-select v-model="corporation_editForm.coDealType" style="width: 240px" clearable size="small"
  307 + placeholder="请选择企业经营类型">
  308 + <el-option
  309 + v-for="item in coDealTypeList"
  310 + :key="item.value"
  311 + :label="item.label"
  312 + :value="item.value">
  313 + </el-option>
  314 + </el-select>
  315 + </el-form-item>
  316 +
  317 + <el-form-item label="企业负责人:" prop="coRep">
  318 + <el-input v-model="corporation_editForm.coRep" style="width:240px" size="mini" clearable
  319 + placeholder="请输入企业负责人">
  320 + </el-input>
  321 + </el-form-item>
  322 +
  323 + <el-form-item label="企业负责人联系电话:" prop="coRepPhon">
  324 + <el-input v-model="corporation_editForm.coRepPhon" style="width:240px" size="mini" clearable
  325 + placeholder="请输入企业负责人联系电话">
  326 + </el-input>
  327 + </el-form-item>
  328 +
  329 + <el-form-item label="境内联系地址:" prop="insideAddr">
  330 + <el-input v-model="corporation_editForm.insideAddr" style="width:240px" size="mini" clearable
  331 + placeholder="请输入境内联系地址">
  332 + </el-input>
  333 + </el-form-item>
  334 +
  335 + <el-form-item label="企业经营资格:" prop="coDealQua">
  336 + <el-input v-model="corporation_editForm.coDealQua" style="width:240px" size="mini" clearable
  337 + placeholder="请输入企业经营资格">
  338 + </el-input>
  339 + </el-form-item>
  340 +
  341 + <el-form-item label="企业备案类别:" prop="coRecType">
  342 + <el-select v-model="corporation_editForm.coRecType" style="width: 240px" clearable size="small"
  343 + placeholder="请选择企业备案类别">
  344 + <el-option
  345 + v-for="item in coRecTypeList"
  346 + :key="item.value"
  347 + :label="item.label"
  348 + :value="item.value">
  349 + </el-option>
  350 + </el-select>
  351 + </el-form-item>
  352 +
  353 + <el-form-item label="最新更新申请业务类型:" prop="currApplyBussine">
  354 + <el-input v-model="corporation_editForm.currApplyBussine" style="width:240px" size="mini" clearable
  355 + placeholder="请输入最新更新申请业务类型">
  356 + </el-input>
  357 + </el-form-item>
  358 +
  359 + <el-form-item label="备注:" prop="memo">
  360 + <el-input v-model="corporation_editForm.memo" style="width:645px" clearable size="mini"
  361 + type="textarea" :rows="3">
  362 + </el-input>
  363 + </el-form-item>
  364 + </el-form>
  365 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
  366 + <el-button type="info" @click="corporation_dialog.editDialog = false" size="medium"
  367 + style="width: 100px">取消
  368 + </el-button>
  369 + <el-button type="primary" @click="corporation_edit" :loading="corporation_loading.editLoading"
  370 + size="medium" style="width: 100px">保存
  371 + </el-button>
  372 + </div>
  373 + </el-dialog>
  374 + </div>
  375 + </el-container>
3 </template> 376 </template>
4 377
5 <script> 378 <script>
  379 + import {selectCorporationList, insertCorporation, updateCorporation, deleteCorporation, batchRemoveCorporation} from "../../api/vehicle_dispatch";
  380 +
6 export default { 381 export default {
7 - name: "Corporation" 382 + name: "Corporation",
  383 + data() {
  384 + return {
  385 + /**
  386 + * 搜索参数
  387 + */
  388 + corporation_queryInfo: {
  389 + // 企业代码
  390 + coCode: '',
  391 + // 当前页数
  392 + pageNum: 1,
  393 + // 每页大小
  394 + pageSize: 10,
  395 + },
  396 +
  397 + /**
  398 + * 分页
  399 + */
  400 + corporation_page: {
  401 + corporationList: [],
  402 + total: 0,
  403 + selectList: [],
  404 + },
  405 +
  406 + /**
  407 + * 加载
  408 + */
  409 + corporation_loading: {
  410 + listLoading: false,
  411 + addLoading: false,
  412 + editLoading: false,
  413 + delLoading: false,
  414 + batchDelLoading: false,
  415 + },
  416 +
  417 + /**
  418 + * 对话框
  419 + */
  420 + corporation_dialog: {
  421 + addDialog: false,
  422 + editDialog: false,
  423 + },
  424 +
  425 + /**
  426 + * 备案添加,表单
  427 + */
  428 + corporation_addForm: {
  429 + // 企业代码
  430 + coCode: '',
  431 + // 主管海关代码
  432 + mainPort: '',
  433 + // 企业注册地
  434 + coRegAddr: '',
  435 + // 批准海关
  436 + apprDep: '',
  437 + // 批准/许可批文号
  438 + apprNo: '',
  439 + // 批准/许可批文有效期
  440 + apprValidTime: undefined,
  441 + // 批准行驶口岸
  442 + apprPorts: '',
  443 + // 企业中文名称
  444 + coNameCn: '',
  445 + // 企业外文名称
  446 + coNameEn: '',
  447 + // 企业地址
  448 + coAddr: '',
  449 + // 境内联系电话,
  450 + insidePhone: '',
  451 + // 企业经营类型
  452 + coDealType: '',
  453 + // 企业负责人
  454 + coRep: '',
  455 + // 企业负责人联系电话
  456 + coRepPhon: '',
  457 + // 境内联系地址
  458 + insideAddr: '',
  459 + // 企业经营资格
  460 + coDealQua: '',
  461 + // 企业备案类别
  462 + coRecType: '',
  463 + // 最新更新申请业务类型
  464 + currApplyBussine: '',
  465 + // 备注
  466 + memo: '',
  467 + },
  468 +
  469 + /**
  470 + * 备案添加,表单验证规则
  471 + */
  472 + corporation_addFormRules: {
  473 +
  474 + },
  475 + corporation_addFormRules2: {
  476 + // 企业代码
  477 + coCode: [
  478 + {required: true, message: '请输入企业代码', trigger: ['blur', 'change']},
  479 + ],
  480 + // 主管海关代码
  481 + mainPort: [
  482 + {required: true, message: '请输入主管海关代码', trigger: ['blur', 'change']},
  483 + ],
  484 + // 企业注册地
  485 + coRegAddr: [
  486 + {required: true, message: '请输入企业注册地', trigger: ['blur', 'change']},
  487 + ],
  488 + // 批准海关
  489 + apprDep: [
  490 + {required: true, message: '请输入批准海关', trigger: ['blur', 'change']},
  491 + ],
  492 + // 批准/许可批文号
  493 + apprNo: [
  494 + {required: true, message: '请输入批准/许可批文号', trigger: ['blur', 'change']},
  495 + ],
  496 + // 批准/许可批文有效期
  497 + apprValidTime: [
  498 + {required: true, message: '请选择批准/许可批文有效期', trigger: ['blur', 'change']},
  499 + ],
  500 + // 批准行驶口岸
  501 + apprPorts: [
  502 + {required: true, message: '请输入批准行驶口岸', trigger: ['blur', 'change']},
  503 + ],
  504 + // 企业中文名称
  505 + coNameCn: [
  506 + {required: true, message: '请输入企业中文名称', trigger: ['blur', 'change']},
  507 + ],
  508 + // 企业外文名称
  509 + coNameEn: [
  510 + {required: true, message: '请输入企业外文名称', trigger: ['blur', 'change']},
  511 + ],
  512 + // 企业地址
  513 + coAddr: [
  514 + {required: true, message: '请输入企业地址', trigger: ['blur', 'change']},
  515 + ],
  516 + // 境内联系电话,
  517 + insidePhone: [
  518 + {required: true, message: '请输入境内联系电话', trigger: ['blur', 'change']},
  519 + ],
  520 + // 企业经营类型
  521 + coDealType: [
  522 + {required: true, message: '请选择企业经营类型', trigger: ['blur', 'change']},
  523 + ],
  524 + // 企业负责人
  525 + coRep: [
  526 + {required: true, message: '请输入企业负责人', trigger: ['blur', 'change']},
  527 + ],
  528 + // 企业负责人联系电话
  529 + coRepPhon: [
  530 + {required: true, message: '请输入企业负责人联系电话', trigger: ['blur', 'change']},
  531 + ],
  532 + // 境内联系地址
  533 + insideAddr: [
  534 + {required: true, message: '请输入境内联系地址', trigger: ['blur', 'change']},
  535 + ],
  536 + // 企业经营资格
  537 + coDealQua: [
  538 + {required: true, message: '请输入企业经营资格', trigger: ['blur', 'change']},
  539 + ],
  540 + // 企业备案类别
  541 + coRecType: [
  542 + {required: true, message: '请选择企业备案类别', trigger: ['blur', 'change']},
  543 + ],
  544 + // 最新更新申请业务类型
  545 + currApplyBussine: [
  546 + {required: true, message: '请输入最新更新申请业务类型', trigger: ['blur', 'change']},
  547 + ],
  548 + // 备注
  549 + memo: [
  550 + {required: true, message: '请输入备注', trigger: ['blur', 'change']},
  551 + ],
  552 + },
  553 +
  554 +
  555 + /**
  556 + * 企业经营类型
  557 + */
  558 + coDealTypeList: [
  559 + {
  560 + value: '1',
  561 + label: '货运企业'
  562 + },
  563 + {
  564 + value: '2',
  565 + label: '客运企业'
  566 + },
  567 + {
  568 + value: '3',
  569 + label: '转关运输企业'
  570 + },
  571 + {
  572 + value: '4',
  573 + label: '其他'
  574 + },
  575 + ],
  576 +
  577 + /**
  578 + * 企业备案类别
  579 + */
  580 + coRecTypeList: [
  581 + {
  582 + value: '1',
  583 + label: '经营性进出境公路运输企业'
  584 + },
  585 + {
  586 + value: '2',
  587 + label: '非经营性进出境公路交通工具负责人'
  588 + },
  589 + {
  590 + value: '3',
  591 + label: '进出境公路运输工具代理企业'
  592 + },
  593 + {
  594 + value: '4',
  595 + label: '经营性来往港澳公路运输企业'
  596 + },
  597 + {
  598 + value: '5',
  599 + label: '非经营性来往港澳公路交通工具负责人'
  600 + },
  601 + {
  602 + value: '6',
  603 + label: '来往港澳公路运输工具代理企业'
  604 + },
  605 + ],
  606 +
  607 + /**
  608 + * 备案修改,表单
  609 + */
  610 + corporation_editForm: {},
  611 +
  612 + /**
  613 + * 备案修改,表单验证规则
  614 + */
  615 + corporation_editFormRules: {
  616 + // 企业代码
  617 + coCode: [
  618 + {required: true, message: '请输入企业代码', trigger: ['blur', 'change']},
  619 + ],
  620 + // 主管海关代码
  621 + mainPort: [
  622 + {required: true, message: '请输入主管海关代码', trigger: ['blur', 'change']},
  623 + ],
  624 + // 企业注册地
  625 + coRegAddr: [
  626 + {required: true, message: '请输入企业注册地', trigger: ['blur', 'change']},
  627 + ],
  628 + // 批准海关
  629 + apprDep: [
  630 + {required: true, message: '请输入批准海关', trigger: ['blur', 'change']},
  631 + ],
  632 + // 批准/许可批文号
  633 + apprNo: [
  634 + {required: true, message: '请输入批准/许可批文号', trigger: ['blur', 'change']},
  635 + ],
  636 + // 批准/许可批文有效期
  637 + apprValidTime: [
  638 + {required: true, message: '请选择批准/许可批文有效期', trigger: ['blur', 'change']},
  639 + ],
  640 + // 批准行驶口岸
  641 + apprPorts: [
  642 + {required: true, message: '请输入批准行驶口岸', trigger: ['blur', 'change']},
  643 + ],
  644 + // 企业中文名称
  645 + coNameCn: [
  646 + {required: true, message: '请输入企业中文名称', trigger: ['blur', 'change']},
  647 + ],
  648 + // 企业外文名称
  649 + coNameEn: [
  650 + {required: true, message: '请输入企业外文名称', trigger: ['blur', 'change']},
  651 + ],
  652 + // 企业地址
  653 + coAddr: [
  654 + {required: true, message: '请输入企业地址', trigger: ['blur', 'change']},
  655 + ],
  656 + // 境内联系电话,
  657 + insidePhone: [
  658 + {required: true, message: '请输入境内联系电话', trigger: ['blur', 'change']},
  659 + ],
  660 + // 企业经营类型
  661 + coDealType: [
  662 + {required: true, message: '请选择企业经营类型', trigger: ['blur', 'change']},
  663 + ],
  664 + // 企业负责人
  665 + coRep: [
  666 + {required: true, message: '请输入企业负责人', trigger: ['blur', 'change']},
  667 + ],
  668 + // 企业负责人联系电话
  669 + coRepPhon: [
  670 + {required: true, message: '请输入企业负责人联系电话', trigger: ['blur', 'change']},
  671 + ],
  672 + // 境内联系地址
  673 + insideAddr: [
  674 + {required: true, message: '请输入境内联系地址', trigger: ['blur', 'change']},
  675 + ],
  676 + // 企业经营资格
  677 + coDealQua: [
  678 + {required: true, message: '请输入企业经营资格', trigger: ['blur', 'change']},
  679 + ],
  680 + // 企业备案类别
  681 + coRecType: [
  682 + {required: true, message: '请选择企业备案类别', trigger: ['blur', 'change']},
  683 + ],
  684 + // 最新更新申请业务类型
  685 + currApplyBussine: [
  686 + {required: true, message: '请输入最新更新申请业务类型', trigger: ['blur', 'change']},
  687 + ],
  688 + // 备注
  689 + memo: [
  690 + {required: true, message: '请输入备注', trigger: ['blur', 'change']},
  691 + ],
  692 + },
  693 +
  694 + }
  695 + },
  696 + methods: {
  697 + /**
  698 + * 分页查询,监听 pageSize 改变的事件
  699 + * 刷新列表
  700 + */
  701 + corporation_handleSizeChange(newSize) {
  702 + this.corporation_queryInfo.pageSize = newSize;
  703 + this.corporation_getList();
  704 + },
  705 + /**
  706 + * 分页查询,监听 pageNum 改变的事件
  707 + * 刷新列表
  708 + */
  709 + corporation_handleCurrentChange(newPage) {
  710 + this.corporation_queryInfo.pageNum = newPage;
  711 + this.corporation_getList();
  712 + },
  713 + /**
  714 + * 列表查询
  715 + */
  716 + corporation_getList() {
  717 + this.corporation_loading.listLoading = true;
  718 + selectCorporationList(this.corporation_queryInfo).then((response) => {
  719 + let res = response.data;
  720 + if (res.code !== '200') {
  721 + this.corporation_loading.listLoading = false;
  722 + return this.$message.error(res.msg);
  723 + }
  724 + this.corporation_page.corporationList = res.data.list;
  725 +
  726 + console.table(this.corporation_page.corporationList)
  727 + this.corporation_page.total = res.data.total;
  728 + this.corporation_loading.listLoading = false;
  729 + }).catch(error => {
  730 + this.corporation_loading.listLoading = false;
  731 + this.$message.error(error.toString());
  732 + });
  733 + },
  734 +
  735 + /**
  736 + * 对话框,备案添加,打开事件
  737 + */
  738 + corporation_toAddDialog() {
  739 + this.corporation_dialog.addDialog = true;
  740 + },
  741 +
  742 + /**
  743 + * 对话框,备案添加,关闭事件
  744 + */
  745 + corporation_addDialogClosed() {
  746 + this.$refs.corporation_addFormRef.resetFields();
  747 + },
  748 +
  749 + /**
  750 + * 备案添加
  751 + */
  752 + corporation_add() {
  753 + this.$refs.corporation_addFormRef.validate(valid => {
  754 + // 未通过,表单预校验
  755 + if (!valid) return;
  756 +
  757 + this.corporation_loading.addLoading = true;
  758 + insertCorporation(this.corporation_addForm).then((response) => {
  759 + let res = response.data;
  760 + if (res.code !== '200') {
  761 + this.corporation_loading.addLoading = false;
  762 + return this.$message.error(res.msg);
  763 + }
  764 + this.$message.success(res.msg);
  765 + this.corporation_loading.addLoading = false;
  766 + this.corporation_dialog.addDialog = false;
  767 + this.corporation_getList();
  768 + }).catch(error => {
  769 + this.corporation_loading.addLoading = false;
  770 + this.$message.error(error.toString());
  771 + });
  772 + })
  773 + },
  774 +
  775 + /**
  776 + * 备案修改,对话框,打开事件
  777 + */
  778 + corporation_toEditDialog(index, row) {
  779 + this.corporation_editForm = Object.assign({}, row);
  780 + this.corporation_dialog.editDialog = true;
  781 + },
  782 +
  783 + /**
  784 + * 备案修改,对话框,关闭事件
  785 + */
  786 + corporation_editDialogClosed() {
  787 + this.$refs.corporation_editFormRef.resetFields();
  788 + },
  789 + /**
  790 + * 备案修改
  791 + */
  792 + corporation_edit() {
  793 + this.$refs.corporation_editFormRef.validate(valid => {
  794 + // 未通过,表单预校验
  795 + if (!valid) return;
  796 +
  797 + this.corporation_loading.editLoading = true;
  798 + updateCorporation(this.corporation_editForm).then((response) => {
  799 + let res = response.data;
  800 + if (res.code !== '200') {
  801 + this.corporation_loading.editLoading = false;
  802 + return this.$message.error(res.msg);
  803 + }
  804 + this.$message.success(res.msg);
  805 + this.corporation_loading.editLoading = false;
  806 + this.corporation_dialog.editDialog = false;
  807 + this.corporation_getList();
  808 + }).catch(error => {
  809 + this.corporation_loading.editLoading = false;
  810 + this.$message.error(error.toString());
  811 + });
  812 + })
  813 + },
  814 +
  815 + /**
  816 + * corporation,批量删除---选中
  817 + */
  818 + corporation_selectChange: function (selectList) {
  819 + this.corporation_page.selectList = selectList;
  820 + },
  821 + /**
  822 + * corporation,批量删除功能
  823 + */
  824 + corporation_batchRemove() {
  825 + const ids = this.corporation_page.selectList.map(item => item.id).toString();
  826 + this.$confirm('此操作将永久删除选中的企业信息, 是否继续?', '警告', {
  827 + confirmButtonText: '确定删除',
  828 + cancelButtonText: '取消',
  829 + type: 'warning'
  830 + }
  831 + ).then(() => {
  832 + this.corporation_loading.listLoading = true;
  833 + let params = {id: ids};
  834 + batchRemoveCorporation(params).then(response => {
  835 + let res = response.data;
  836 + if (res.code !== '200') {
  837 + this.corporation_loading.listLoading = false;
  838 + return this.$message.error(res.msg);
  839 + }
  840 + this.$message.success(res.msg);
  841 + this.corporation_loading.listLoading = false;
  842 + this.corporation_getList();
  843 + }).catch(error => {
  844 + this.corporation_loading.listLoading = false;
  845 + this.$message.error(error.toString());
  846 + });
  847 + }).catch(() => {
  848 + });
  849 + },
  850 + /**
  851 + * corporation,删除功能
  852 + */
  853 + corporation_delete(index, row) {
  854 + this.$confirm('此操作永久删除该企业信息, 是否继续?', '警告', {
  855 + confirmButtonText: '确定删除',
  856 + cancelButtonText: '取消',
  857 + type: 'warning'
  858 + }
  859 + ).then(() => {
  860 + this.corporation_loading.delLoading = true;
  861 + deleteCorporation(row).then((response) => {
  862 + let res = response.data;
  863 + if (res.code !== '200') {
  864 + this.corporation_loading.delLoading = false;
  865 + return this.$message.error(res.msg);
  866 + }
  867 + this.corporation_loading.delLoading = false;
  868 + this.$message.success(res.msg);
  869 + this.corporation_getList();
  870 + }).catch(error => {
  871 + this.corporation_loading.delLoading = false;
  872 + this.$message.error(error.toString());
  873 + });
  874 + }).catch(() => {
  875 + });
  876 + },
  877 + }
8 } 878 }
9 </script> 879 </script>
10 880
1 <template> 1 <template>
2 - 2 + <div>
  3 +
  4 + <el-card style="background-color: #F5F7FA">
  5 + <!-- 搜素区域 -->
  6 + <div>
  7 + <el-row :gutter="10">
  8 + <el-col :span="4">
  9 + <el-input v-model="driver_queryInfo.drName" prefix-icon="el-icon-search" size="small"
  10 + placeholder="驾驶员姓名" clearable></el-input>
  11 + </el-col>
  12 + <el-col :span="8">
  13 + <el-button type="success" style="width:120px" size="small" @click="driver_getList">
  14 + 查询
  15 + </el-button>
  16 + <el-button type="primary" style="width:120px" size="small" @click="driver_toAddDialog">
  17 + 备案添加
  18 + </el-button>
  19 + </el-col>
  20 + </el-row>
  21 + </div>
  22 + <!-- 列表区域 -->
  23 + <div style="margin-top: 20px;">
  24 + <el-table :data="driver_page.driverList" border size="mini" @selection-change="driver_selectChange"
  25 + v-loading="driver_loading.listLoading" element-loading-text="获取驾驶员列表,拼命加载中">
  26 + <el-table-column type="selection" width="55" align="center"></el-table-column>
  27 + <el-table-column type="index" align="center"></el-table-column>
  28 + <el-table-column label="主管海关代码" prop="mainPort" align="center" width="150"></el-table-column>
  29 + <el-table-column label="驾驶员姓名" prop="drName" align="center" width="150"></el-table-column>
  30 + <!-- 驾驶员id,用的是身份证号/护照 -->
  31 + <el-table-column label="驾驶员ID" prop="idCard" align="center" width="150"></el-table-column>
  32 + <el-table-column label="性别" prop="gender" align="center" width="150"></el-table-column>
  33 + <el-table-column label="籍贯" prop="drNative" align="center" width="150"></el-table-column>
  34 + <el-table-column label="出生日期" prop="birthday" align="center" width="150"></el-table-column>
  35 + <el-table-column label="驾驶员分类" prop="drClassFlag" align="center" width="150"></el-table-column>
  36 + <el-table-column label="驾车资格编号" prop="quaId" align="center" width="150"></el-table-column>
  37 + <el-table-column label="驾车资格分类" prop="drQua" align="center" width="150"></el-table-column>
  38 + <el-table-column label="所在企业代码" prop="coCode" align="center" width="150"></el-table-column>
  39 + <el-table-column label="更新时间" prop="updateDate" align="center" width="150"></el-table-column>
  40 + <el-table-column label="操作" width="180px" align="center" fixed="right">
  41 + <template slot-scope="scope">
  42 + <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
  43 + <el-button type="text" icon="el-icon-edit" size="mini"
  44 + @click="driver_toEditDialog(scope.$index,scope.row)">编辑
  45 + </el-button>
  46 + </el-tooltip>
  47 + <el-tooltip effect="dark" content="删除" placement="top-start" :enterable="false">
  48 + <el-button type="text" icon="el-icon-delete" size="mini"
  49 + :loading="driver_loading.delLoading"
  50 + @click="driver_delete(scope.$index,scope.row)">删除
  51 + </el-button>
  52 + </el-tooltip>
  53 + </template>
  54 + </el-table-column>
  55 + </el-table>
  56 + </div>
  57 + <!-- 分页区域 -->
  58 + <div style="margin-top: 10px">
  59 + <el-row :gutter="24">
  60 + <el-col :span="5">
  61 + <el-button type="danger" icon="el-icon-delete"
  62 + :loading="driver_loading.listLoading"
  63 + :disabled="this.driver_page.selectList.length===0"
  64 + size="small"
  65 + @click="driver_batchRemove">批量删除
  66 + </el-button>
  67 + </el-col>
  68 + <el-col :span="10" style="margin-top: 5px">
  69 + <el-pagination
  70 + @size-change="driver_handleSizeChange"
  71 + @current-change="driver_handleCurrentChange"
  72 + :current-page="driver_queryInfo.pageNum"
  73 + :page-sizes="[10,30,50,100]"
  74 + :page-size="driver_queryInfo.pageSize"
  75 + layout="total, sizes, prev, pager, next, jumper"
  76 + :total="driver_page.total">
  77 + </el-pagination>
  78 + </el-col>
  79 + </el-row>
  80 + </div>
  81 + </el-card>
  82 + <!-- 备案添加 -->
  83 + <div>
  84 + <el-dialog title="驾驶员信息:备案添加"
  85 + :visible.sync="driver_dialog.addDialog"
  86 + style="margin-top: -80px" text-align="center" width="65%"
  87 + @close="driver_addDialogClosed">
  88 + <el-form :inline="true" label-width="150px" status-icon style="margin-top: -10px;margin-left: 60px"
  89 + :model="driver_addForm" :rules="driver_addFormRules" ref="driver_addFormRef">
  90 + <el-form-item label="主管海关代码:" prop="mainPort">
  91 + <el-input v-model="driver_addForm.mainPort" style="width:240px" size="mini" clearable
  92 + placeholder="请输入海关代码">
  93 + </el-input>
  94 + </el-form-item>
  95 + <el-form-item label="所在企业代码:" prop="coCode">
  96 + <el-input v-model="driver_addForm.coCode" style="width:240px" size="mini" clearable
  97 + placeholder="请输入所在企业代码">
  98 + </el-input>
  99 + </el-form-item>
  100 +
  101 + <el-form-item label="身份证号/护照:" prop="idCard">
  102 + <el-input v-model="driver_addForm.idCard" style="width:240px" size="mini" clearable
  103 + placeholder="请输入身份证号/护照">
  104 + </el-input>
  105 + </el-form-item>
  106 + <el-form-item label="驾驶员姓名:" prop="drName">
  107 + <el-input v-model="driver_addForm.drName" style="width:240px" size="mini" clearable
  108 + placeholder="请输入驾驶员姓名">
  109 + </el-input>
  110 + </el-form-item>
  111 +
  112 + <el-form-item label="籍贯:" prop="drNative">
  113 + <el-input v-model="driver_addForm.drNative" style="width:240px" size="mini" clearable
  114 + placeholder="请输入籍贯">
  115 + </el-input>
  116 + </el-form-item>
  117 + <el-form-item label="性别:" prop="gender">
  118 + <el-select v-model="driver_addForm.gender" style="width: 240px" clearable size="small"
  119 + placeholder="请选择性别">
  120 + <el-option
  121 + v-for="item in genderList"
  122 + :key="item.value"
  123 + :label="item.label"
  124 + :value="item.value">
  125 + </el-option>
  126 + </el-select>
  127 + </el-form-item>
  128 +
  129 + <el-form-item label="出生日期:" prop="birthday">
  130 + <el-date-picker v-model="driver_addForm.birthday" placeholder="出生日期"
  131 + type="date" value-format="yyyy-MM-dd"
  132 + size="mini" style="width:240px"></el-date-picker>
  133 + </el-form-item>
  134 + <el-form-item label="居住地址:" prop="liveAddr">
  135 + <el-input v-model="driver_addForm.liveAddr" style="width:240px" size="mini" clearable
  136 + placeholder="请输入居住地址">
  137 + </el-input>
  138 + </el-form-item>
  139 +
  140 + <el-form-item label="申请人:" prop="proposer">
  141 + <el-input v-model="driver_addForm.proposer" style="width:240px" size="mini" clearable
  142 + placeholder="请输入申请人">
  143 + </el-input>
  144 + </el-form-item>
  145 + <el-form-item label="申请时间:" prop="proposeTime">
  146 + <el-date-picker v-model="driver_addForm.proposeTime" placeholder="申请时间"
  147 + type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
  148 + size="mini" style="width:240px"></el-date-picker>
  149 + </el-form-item>
  150 +
  151 + <el-form-item label="驾驶员分类:" prop="drClassFlag">
  152 + <el-select v-model="driver_addForm.drClassFlag" style="width: 240px" clearable size="small"
  153 + placeholder="请选择驾驶员分类">
  154 + <el-option
  155 + v-for="item in drClassFlagList"
  156 + :key="item.value"
  157 + :label="item.label"
  158 + :value="item.value">
  159 + </el-option>
  160 + </el-select>
  161 + </el-form-item>
  162 + <el-form-item label="驾车资格编号:" prop="quaId">
  163 + <el-input v-model="driver_addForm.quaId" style="width:240px" size="mini" clearable
  164 + placeholder="请输入驾车资格编号">
  165 + </el-input>
  166 + </el-form-item>
  167 +
  168 + <el-form-item label="驾车资格:" prop="drQua">
  169 + <el-select v-model="driver_addForm.drQua" style="width: 240px" clearable size="small"
  170 + placeholder="请选择驾车资格">
  171 + <el-option
  172 + v-for="item in drQuaList"
  173 + :key="item.value"
  174 + :label="item.label"
  175 + :value="item.value">
  176 + </el-option>
  177 + </el-select>
  178 + </el-form-item>
  179 + <el-form-item label="备注:" prop="memo">
  180 + <el-input v-model="driver_addForm.memo" style="width:240px" size="mini" clearable
  181 + placeholder="请输入备注">
  182 + </el-input>
  183 + </el-form-item>
  184 + </el-form>
  185 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
  186 + <el-button type="info" @click="driver_dialog.addDialog = false" size="medium"
  187 + style="width: 100px">取消
  188 + </el-button>
  189 + <el-button type="primary" @click="driver_add" :loading="driver_loading.addLoading"
  190 + size="medium" style="width: 100px">保存
  191 + </el-button>
  192 + </div>
  193 + </el-dialog>
  194 + </div>
  195 + <!-- 备案修改 -->
  196 + <div>
  197 + <el-dialog title="驾驶员信息:备案修改"
  198 + :visible.sync="driver_dialog.editDialog"
  199 + style="margin-top: -80px" text-align="center" width="65%"
  200 + @close="driver_editDialogClosed">
  201 + <el-form :inline="true" label-width="150px" status-icon style="margin-top: -10px;margin-left: 60px"
  202 + :model="driver_editForm" :rules="driver_editFormRules" ref="driver_editFormRef">
  203 + <el-form-item label="主管海关代码:" prop="mainPort">
  204 + <el-input v-model="driver_editForm.mainPort" style="width:240px" size="mini" clearable
  205 + placeholder="请输入海关代码">
  206 + </el-input>
  207 + </el-form-item>
  208 + <el-form-item label="所在企业代码:" prop="coCode">
  209 + <el-input v-model="driver_editForm.coCode" style="width:240px" size="mini" clearable
  210 + placeholder="请输入所在企业代码">
  211 + </el-input>
  212 + </el-form-item>
  213 +
  214 + <el-form-item label="身份证号/护照:" prop="idCard">
  215 + <el-input v-model="driver_editForm.idCard" style="width:240px" size="mini" clearable
  216 + placeholder="请输入身份证号/护照">
  217 + </el-input>
  218 + </el-form-item>
  219 + <el-form-item label="驾驶员姓名:" prop="drName">
  220 + <el-input v-model="driver_editForm.drName" style="width:240px" size="mini" clearable
  221 + placeholder="请输入驾驶员姓名">
  222 + </el-input>
  223 + </el-form-item>
  224 +
  225 + <el-form-item label="籍贯:" prop="drNative">
  226 + <el-input v-model="driver_editForm.drNative" style="width:240px" size="mini" clearable
  227 + placeholder="请输入籍贯">
  228 + </el-input>
  229 + </el-form-item>
  230 + <el-form-item label="性别:" prop="gender">
  231 + <el-select v-model="driver_editForm.gender" style="width: 240px" clearable size="small"
  232 + placeholder="请选择性别">
  233 + <el-option
  234 + v-for="item in genderList"
  235 + :key="item.value"
  236 + :label="item.label"
  237 + :value="item.value">
  238 + </el-option>
  239 + </el-select>
  240 + </el-form-item>
  241 +
  242 + <el-form-item label="出生日期:" prop="birthday">
  243 + <el-date-picker v-model="driver_editForm.birthday" placeholder="出生日期"
  244 + type="date" value-format="yyyy-MM-dd"
  245 + size="mini" style="width:240px"></el-date-picker>
  246 + </el-form-item>
  247 + <el-form-item label="居住地址:" prop="liveAddr">
  248 + <el-input v-model="driver_editForm.liveAddr" style="width:240px" size="mini" clearable
  249 + placeholder="请输入居住地址">
  250 + </el-input>
  251 + </el-form-item>
  252 +
  253 + <el-form-item label="申请人:" prop="proposer">
  254 + <el-input v-model="driver_editForm.proposer" style="width:240px" size="mini" clearable
  255 + placeholder="请输入申请人">
  256 + </el-input>
  257 + </el-form-item>
  258 + <el-form-item label="申请时间:" prop="proposeTime">
  259 + <el-date-picker v-model="driver_editForm.proposeTime" placeholder="申请时间"
  260 + type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
  261 + size="mini" style="width:240px"></el-date-picker>
  262 + </el-form-item>
  263 +
  264 + <el-form-item label="驾驶员分类:" prop="drClassFlag">
  265 + <el-select v-model="driver_editForm.drClassFlag" style="width: 240px" clearable size="small"
  266 + placeholder="请选择驾驶员分类">
  267 + <el-option
  268 + v-for="item in drClassFlagList"
  269 + :key="item.value"
  270 + :label="item.label"
  271 + :value="item.value">
  272 + </el-option>
  273 + </el-select>
  274 + </el-form-item>
  275 + <el-form-item label="驾车资格编号:" prop="quaId">
  276 + <el-input v-model="driver_editForm.quaId" style="width:240px" size="mini" clearable
  277 + placeholder="请输入驾车资格编号">
  278 + </el-input>
  279 + </el-form-item>
  280 +
  281 + <el-form-item label="驾车资格:" prop="drQua">
  282 + <el-select v-model="driver_editForm.drQua" style="width: 240px" clearable size="small"
  283 + placeholder="请选择驾车资格">
  284 + <el-option
  285 + v-for="item in drQuaList"
  286 + :key="item.value"
  287 + :label="item.label"
  288 + :value="item.value">
  289 + </el-option>
  290 + </el-select>
  291 + </el-form-item>
  292 + <el-form-item label="备注:" prop="memo">
  293 + <el-input v-model="driver_editForm.memo" style="width:240px" size="mini" clearable
  294 + placeholder="请输入备注">
  295 + </el-input>
  296 + </el-form-item>
  297 + </el-form>
  298 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
  299 + <el-button type="info" @click="driver_dialog.editDialog = false" size="medium"
  300 + style="width: 100px">取消
  301 + </el-button>
  302 + <el-button type="primary" @click="driver_edit" :loading="driver_loading.editLoading"
  303 + size="medium" style="width: 100px">保存
  304 + </el-button>
  305 + </div>
  306 + </el-dialog>
  307 + </div>
  308 + </div>
3 </template> 309 </template>
4 310
5 <script> 311 <script>
  312 + import {
  313 + selectDriverList,
  314 + insertDriver,
  315 + updateDriver,
  316 + deleteDriver,
  317 + batchRemoveDriver,
  318 + } from "../../api/vehicle_dispatch";
  319 +
6 export default { 320 export default {
7 - name: "Driver" 321 + name: "Driver",
  322 +
  323 + data() {
  324 + return {
  325 + /**
  326 + * 搜索参数
  327 + */
  328 + driver_queryInfo: {
  329 + // 驾驶员姓名
  330 + drName: '',
  331 + // 当前页数
  332 + pageNum: 1,
  333 + // 每页大小
  334 + pageSize: 10,
  335 + },
  336 +
  337 + /**
  338 + * driver,分页
  339 + */
  340 + driver_page: {
  341 + driverList: [],
  342 + total: 0,
  343 + selectList: [],
  344 + },
  345 +
  346 + /**
  347 + * 加载
  348 + */
  349 + driver_loading: {
  350 + listLoading: false,
  351 + addLoading: false,
  352 + editLoading: false,
  353 + delLoading: false,
  354 + batchDelLoading: false,
  355 + approvalLoading: false,
  356 + },
  357 +
  358 + /**
  359 + * 对话框
  360 + */
  361 + driver_dialog: {
  362 + addDialog: false,
  363 + editDialog: false,
  364 + },
  365 + /**
  366 + * 备案添加,表单
  367 + */
  368 + driver_addForm: {
  369 + // 主管海关代码
  370 + mainPort: '',
  371 + // 所在企业代码
  372 + coCode: '',
  373 + // 身份证号/护照
  374 + idCard: '',
  375 + // 驾驶员姓名
  376 + drName: '',
  377 + // 籍贯
  378 + drNative: '',
  379 + // 性别
  380 + gender: '',
  381 + // 出生日期
  382 + birthday: undefined,
  383 + // 居住地址
  384 + liveAddr: '',
  385 + // 申请人
  386 + proposer: '',
  387 + // 申请时间
  388 + proposeTime: undefined,
  389 + // 驾驶员分类
  390 + drClassFlag: '',
  391 + // 驾车资格编号
  392 + quaId: '',
  393 + // 驾车资格
  394 + drQua: '',
  395 + // 备注
  396 + memo: '',
  397 + },
  398 + /**
  399 + * 备案添加,表单验证规则
  400 + */
  401 + driver_addFormRules: {
  402 + // 驾驶员姓名
  403 + drName: [
  404 + {required: true, message: '请输入驾驶员姓名', trigger: ['blur', 'change']},
  405 + ],
  406 + // 驾车资格编号
  407 + quaId: [
  408 + {required: true, message: '请输入驾车资格编号', trigger: ['blur', 'change']},
  409 + ],
  410 + },
  411 +
  412 + /**
  413 + * 驾驶员分类
  414 + */
  415 + drClassFlagList: [
  416 + {
  417 + value: '1',
  418 + label: '经营性进出境公路运输工具驾驶员'
  419 + },
  420 + {
  421 + value: '2',
  422 + label: '经营性来往港澳公路运输工具驾驶员'
  423 + },
  424 + {
  425 + value: '3',
  426 + label: '非经营性进出境交通工具驾驶员'
  427 + },
  428 + {
  429 + value: '4',
  430 + label: '非经营性来往港澳公路交通工具驾驶员'
  431 + },
  432 + ],
  433 + /**
  434 + * 性别
  435 + */
  436 + genderList: [
  437 + {
  438 + value: '男',
  439 + label: '男'
  440 + },
  441 + {
  442 + value: '女',
  443 + label: '女'
  444 + },
  445 + ],
  446 + /**
  447 + * 驾车资格
  448 + */
  449 + drQuaList: [
  450 + {
  451 + value: '1',
  452 + label: '经营性来往港澳公路运输工具驾驶资格'
  453 + },
  454 + {
  455 + value: '2',
  456 + label: '经营性进出境公路运输工具驾驶资格'
  457 + },
  458 + {
  459 + value: '3',
  460 + label: '境内公路承运海关监管货物运输工具驾驶资格'
  461 + },
  462 + {
  463 + value: '4',
  464 + label: '非经营性来往港澳公路交通工具驾驶资格'
  465 + },
  466 + {
  467 + value: '5',
  468 + label: '非经营性进出境公路交通工具驾驶资格'
  469 + },
  470 + ],
  471 + /**
  472 + * 备案修改,表单
  473 + */
  474 + driver_editForm: {},
  475 + /**
  476 + * 备案修改,表单验证规则
  477 + */
  478 + driver_editFormRules: {
  479 + // 驾驶员姓名
  480 + drName: [
  481 + {required: true, message: '请输入驾驶员姓名', trigger: ['blur', 'change']},
  482 + ],
  483 + // 驾车资格编号
  484 + quaId: [
  485 + {required: true, message: '请输入驾车资格编号', trigger: ['blur', 'change']},
  486 + ],
  487 + },
  488 + }
  489 + },
  490 + methods: {
  491 + /**
  492 + * 分页查询,监听 pageSize 改变的事件
  493 + * 刷新列表
  494 + */
  495 + driver_handleSizeChange(newSize) {
  496 + this.driver_queryInfo.pageSize = newSize;
  497 + this.driver_getList();
  498 + },
  499 + /**
  500 + * 分页查询,监听 pageNum 改变的事件
  501 + * 刷新列表
  502 + */
  503 + driver_handleCurrentChange(newPage) {
  504 + this.driver_queryInfo.pageNum = newPage;
  505 + this.driver_getList();
  506 + },
  507 + /**
  508 + * 列表查询
  509 + */
  510 + driver_getList() {
  511 + this.driver_loading.listLoading = true;
  512 + selectDriverList(this.driver_queryInfo).then((response) => {
  513 + let res = response.data;
  514 + if (res.code !== '200') {
  515 + this.driver_loading.listLoading = false;
  516 + return this.$message.error(res.msg);
  517 + }
  518 + this.driver_page.driverList = res.data.list;
  519 + this.driver_page.total = res.data.total;
  520 + this.driver_loading.listLoading = false;
  521 + }).catch(error => {
  522 + this.driver_loading.listLoading = false;
  523 + this.$message.error(error.toString());
  524 + });
  525 + },
  526 +
  527 + /**
  528 + * 对话框,备案添加,打开事件
  529 + */
  530 + driver_toAddDialog() {
  531 + this.driver_dialog.addDialog = true;
  532 + },
  533 +
  534 + /**
  535 + * 对话框,备案添加,关闭事件
  536 + */
  537 + driver_addDialogClosed() {
  538 + this.$refs.driver_addFormRef.resetFields();
  539 + },
  540 +
  541 + /**
  542 + * 备案添加
  543 + */
  544 + driver_add() {
  545 + this.$refs.driver_addFormRef.validate(valid => {
  546 + // 未通过,表单预校验
  547 + if (!valid) return;
  548 +
  549 + this.driver_loading.addLoading = true;
  550 + insertDriver(this.driver_addForm).then((response) => {
  551 + let res = response.data;
  552 + if (res.code !== '200') {
  553 + this.driver_loading.addLoading = false;
  554 + return this.$message.error(res.msg);
  555 + }
  556 + this.$message.success(res.msg);
  557 + this.driver_loading.addLoading = false;
  558 + this.driver_dialog.addDialog = false;
  559 + this.driver_getList();
  560 + }).catch(error => {
  561 + this.driver_loading.addLoading = false;
  562 + this.$message.error(error.toString());
  563 + });
  564 + })
  565 + },
  566 +
  567 + /**
  568 + * 备案修改,对话框,打开事件
  569 + */
  570 + driver_toEditDialog(index, row) {
  571 + this.driver_editForm = Object.assign({}, row);
  572 + this.driver_dialog.editDialog = true;
  573 + },
  574 +
  575 + /**
  576 + * 备案修改,对话框,关闭事件
  577 + */
  578 + driver_editDialogClosed() {
  579 + this.$refs.driver_editFormRef.resetFields();
  580 + },
  581 + /**
  582 + * 备案修改
  583 + */
  584 + driver_edit() {
  585 + this.$refs.driver_editFormRef.validate(valid => {
  586 + // 未通过,表单预校验
  587 + if (!valid) return;
  588 +
  589 + this.driver_loading.editLoading = true;
  590 + updateDriver(this.driver_editForm).then((response) => {
  591 + let res = response.data;
  592 + if (res.code !== '200') {
  593 + this.driver_loading.editLoading = false;
  594 + return this.$message.error(res.msg);
  595 + }
  596 + this.$message.success(res.msg);
  597 + this.driver_loading.editLoading = false;
  598 + this.driver_dialog.editDialog = false;
  599 + this.driver_getList();
  600 + }).catch(error => {
  601 + this.driver_loading.editLoading = false;
  602 + this.$message.error(error.toString());
  603 + });
  604 + })
  605 + },
  606 +
  607 + /**
  608 + * 批量删除---选中
  609 + */
  610 + driver_selectChange: function (selectList) {
  611 + this.driver_page.selectList = selectList;
  612 + },
  613 + /**
  614 + * driver,批量删除功能
  615 + */
  616 + driver_batchRemove() {
  617 + const ids = this.driver_page.selectList.map(item => item.id).toString();
  618 + this.$confirm('此操作将永久删除选中的驾驶员信息, 是否继续?', '警告', {
  619 + confirmButtonText: '确定删除',
  620 + cancelButtonText: '取消',
  621 + type: 'warning'
  622 + }
  623 + ).then(() => {
  624 + this.driver_loading.listLoading = true;
  625 + let params = {id: ids};
  626 + batchRemoveDriver(params).then(response => {
  627 + let res = response.data;
  628 + if (res.code !== '200') {
  629 + this.driver_loading.listLoading = false;
  630 + return this.$message.error(res.msg);
  631 + }
  632 + this.$message.success(res.msg);
  633 + this.driver_loading.listLoading = false;
  634 + this.driver_getList();
  635 + }).catch(error => {
  636 + this.driver_loading.listLoading = false;
  637 + this.$message.error(error.toString());
  638 + });
  639 + }).catch(() => {
  640 + });
  641 + },
  642 +
  643 + /**
  644 + * driver,删除功能
  645 + */
  646 + driver_delete(index, row) {
  647 + this.$confirm('此操作永久删除该车辆信息, 是否继续?', '警告', {
  648 + confirmButtonText: '确定删除',
  649 + cancelButtonText: '取消',
  650 + type: 'warning'
  651 + }
  652 + ).then(() => {
  653 + this.driver_loading.delLoading = true;
  654 + deleteDriver(row).then((response) => {
  655 + let res = response.data;
  656 + if (res.code !== '200') {
  657 + this.driver_loading.delLoading = false;
  658 + return this.$message.error(res.msg);
  659 + }
  660 + this.driver_loading.delLoading = false;
  661 + this.$message.success(res.msg);
  662 + this.driver_getList();
  663 + }).catch(error => {
  664 + this.driver_loading.delLoading = false;
  665 + this.$message.error(error.toString());
  666 + });
  667 + }).catch(() => {
  668 + });
  669 + },
  670 + }
8 } 671 }
  672 +
9 </script> 673 </script>
10 674
11 <style scoped> 675 <style scoped>
1 <template> 1 <template>
2 <el-container> 2 <el-container>
3 - <el-main>  
4 - <el-card style="background-color: #F5F7FA">  
5 - <!-- 搜素区域 -->  
6 - <div>  
7 - <el-row :gutter="10">  
8 - <el-col :span="4">  
9 - <el-input v-model="trailer_queryInfo.trailerLicenseNo" prefix-icon="el-icon-search" size="small"  
10 - placeholder="挂车牌号" clearable></el-input>  
11 - </el-col>  
12 - <el-col :span="8">  
13 - <el-button type="success" style="width:120px" size="small" @click="trailer_getList">  
14 - 查询  
15 - </el-button>  
16 - <el-button type="primary" style="width:120px" size="small" @click="trailer_toAddDialog">  
17 - 备案添加  
18 - </el-button>  
19 - </el-col>  
20 - </el-row>  
21 - </div>  
22 - <!-- 列表区域 -->  
23 - <div style="margin-top: 20px;">  
24 - <el-table :data="trailer_page.trailerList" border size="mini" @selection-change="trailer_selectChange"  
25 - v-loading="trailer_loading.listLoading" element-loading-text="获取挂车列表,拼命加载中">  
26 - <el-table-column type="selection" width="55" align="center"></el-table-column>  
27 - <el-table-column type="index" align="center"></el-table-column>  
28 - <el-table-column label="主管海关代码" prop="mainPort" align="center" width="100"></el-table-column>  
29 - <el-table-column label="挂车车牌号" prop="trailerLicenseNo" align="center" width="110"></el-table-column>  
30 - <el-table-column label="挂车车架号" prop="frameNo" align="center" width="150"></el-table-column>  
31 - <el-table-column label="挂车注册地" prop="trailerRegPlace" align="center" width="120"></el-table-column>  
32 - <el-table-column label="挂车重量" prop="trailerWt" align="center" width="80"></el-table-column>  
33 - <el-table-column label="挂车类型" prop="trailerClassFlag" align="center" width="100"></el-table-column>  
34 - <el-table-column label="挂车颜色" prop="trailerColor" align="center" width="100"></el-table-column>  
35 - <el-table-column label="更新时间" prop="updateDate" align="center" width="140"></el-table-column>  
36 - <el-table-column label="操作" width="180px" align="center" fixed="right">  
37 - <template slot-scope="scope">  
38 - <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">  
39 - <el-button type="text" icon="el-icon-edit" size="mini"  
40 - @click="trailer_toEditDialog(scope.$index,scope.row)">编辑  
41 - </el-button>  
42 - </el-tooltip>  
43 - <el-tooltip effect="dark" content="删除" placement="top-start" :enterable="false">  
44 - <el-button type="text" icon="el-icon-delete" size="mini"  
45 - :loading="trailer_loading.delLoading"  
46 - @click="trailer_delete(scope.$index,scope.row)">删除  
47 - </el-button>  
48 - </el-tooltip>  
49 - </template>  
50 - </el-table-column>  
51 - </el-table>  
52 - </div>  
53 - <!-- 分页区域 -->  
54 - <div style="margin-top: 10px">  
55 - <el-row :gutter="24">  
56 - <el-col :span="5">  
57 - <el-button type="danger" icon="el-icon-delete"  
58 - :loading="trailer_loading.listLoading"  
59 - :disabled="this.trailer_page.selectList.length===0"  
60 - size="small"  
61 - @click="trailer_batchRemove">批量删除  
62 - </el-button>  
63 - </el-col>  
64 - <el-col :span="10" style="margin-top: 5px">  
65 - <el-pagination  
66 - @size-change="trailer_handleSizeChange"  
67 - @current-change="trailer_handleCurrentChange"  
68 - :current-page="trailer_queryInfo.pageNum"  
69 - :page-sizes="[10,30,50,100]"  
70 - :page-size="trailer_queryInfo.pageSize"  
71 - layout="total, sizes, prev, pager, next, jumper"  
72 - :total="trailer_page.total">  
73 - </el-pagination>  
74 - </el-col>  
75 - </el-row>  
76 - </div>  
77 - </el-card>  
78 - </el-main> 3 + <el-card style="background-color: #F5F7FA">
  4 + <!-- 搜素区域 -->
  5 + <div>
  6 + <el-row :gutter="10">
  7 + <el-col :span="4">
  8 + <el-input v-model="trailer_queryInfo.trailerLicenseNo" prefix-icon="el-icon-search" size="small"
  9 + placeholder="挂车牌号" clearable></el-input>
  10 + </el-col>
  11 + <el-col :span="8">
  12 + <el-button type="success" style="width:120px" size="small" @click="trailer_getList">
  13 + 查询
  14 + </el-button>
  15 + <el-button type="primary" style="width:120px" size="small" @click="trailer_toAddDialog">
  16 + 备案添加
  17 + </el-button>
  18 + </el-col>
  19 + </el-row>
  20 + </div>
  21 + <!-- 列表区域 -->
  22 + <div style="margin-top: 20px;">
  23 + <el-table :data="trailer_page.trailerList" border size="mini" @selection-change="trailer_selectChange"
  24 + v-loading="trailer_loading.listLoading" element-loading-text="获取挂车列表,拼命加载中">
  25 + <el-table-column type="selection" width="55" align="center"></el-table-column>
  26 + <el-table-column type="index" align="center"></el-table-column>
  27 + <el-table-column label="主管海关代码" prop="mainPort" align="center" width="100"></el-table-column>
  28 + <el-table-column label="挂车车牌号" prop="trailerLicenseNo" align="center" width="110"></el-table-column>
  29 + <el-table-column label="挂车车架号" prop="frameNo" align="center" width="150"></el-table-column>
  30 + <el-table-column label="挂车注册地" prop="trailerRegPlace" align="center" width="120"></el-table-column>
  31 + <el-table-column label="挂车重量" prop="trailerWt" align="center" width="80"></el-table-column>
  32 + <el-table-column label="挂车牌号图片" prop="trailerLicenseNoPic" align="center" width="120">
  33 + <template slot-scope="scope">
  34 + <img :src="scope.row.trailerLicenseNoPic" alt="" style="width: 60px;height: 60px">
  35 + </template>
  36 + </el-table-column>
  37 + <el-table-column label="挂车类型" prop="trailerClassFlag" align="center" width="100"></el-table-column>
  38 + <el-table-column label="挂车颜色" prop="trailerColor" align="center" width="100"></el-table-column>
  39 + <el-table-column label="更新时间" prop="updateDate" align="center" width="140"></el-table-column>
  40 + <el-table-column label="操作" width="180px" align="center" fixed="right">
  41 + <template slot-scope="scope">
  42 + <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
  43 + <el-button type="text" icon="el-icon-edit" size="mini"
  44 + @click="trailer_toEditDialog(scope.$index,scope.row)">编辑
  45 + </el-button>
  46 + </el-tooltip>
  47 + <el-tooltip effect="dark" content="删除" placement="top-start" :enterable="false">
  48 + <el-button type="text" icon="el-icon-delete" size="mini"
  49 + :loading="trailer_loading.delLoading"
  50 + @click="trailer_delete(scope.$index,scope.row)">删除
  51 + </el-button>
  52 + </el-tooltip>
  53 + </template>
  54 + </el-table-column>
  55 + </el-table>
  56 + </div>
  57 + <!-- 分页区域 -->
  58 + <div style="margin-top: 10px">
  59 + <el-row :gutter="24">
  60 + <el-col :span="5">
  61 + <el-button type="danger" icon="el-icon-delete"
  62 + :loading="trailer_loading.listLoading"
  63 + :disabled="this.trailer_page.selectList.length===0"
  64 + size="small"
  65 + @click="trailer_batchRemove">批量删除
  66 + </el-button>
  67 + </el-col>
  68 + <el-col :span="10" style="margin-top: 5px">
  69 + <el-pagination
  70 + @size-change="trailer_handleSizeChange"
  71 + @current-change="trailer_handleCurrentChange"
  72 + :current-page="trailer_queryInfo.pageNum"
  73 + :page-sizes="[10,30,50,100]"
  74 + :page-size="trailer_queryInfo.pageSize"
  75 + layout="total, sizes, prev, pager, next, jumper"
  76 + :total="trailer_page.total">
  77 + </el-pagination>
  78 + </el-col>
  79 + </el-row>
  80 + </div>
  81 + </el-card>
79 <!-- 备案添加 --> 82 <!-- 备案添加 -->
80 <div> 83 <div>
81 <el-dialog title="挂车信息:备案添加" 84 <el-dialog title="挂车信息:备案添加"
@@ -135,13 +138,12 @@ @@ -135,13 +138,12 @@
135 </el-input> 138 </el-input>
136 </el-form-item> 139 </el-form-item>
137 <el-form-item label="挂车牌号图片:" prop="trailerLicenseNoPic"> 140 <el-form-item label="挂车牌号图片:" prop="trailerLicenseNoPic">
138 - <img v-if="!trailer_config.progressFlag" style="width: 100px;height: 100px" :src="trailer_config.imageUrl"/>  
139 - 141 + <img v-if="trailer_config.progressFlag" style="width: 100px;height: 100px" :src="trailer_config.imageUrl"/>
140 <el-upload 142 <el-upload
141 style="display: inline; margin-left: 10px;margin-right: 10px;" 143 style="display: inline; margin-left: 10px;margin-right: 10px;"
142 action="" 144 action=""
143 :show-file-list="true" 145 :show-file-list="true"
144 - :http-request="uploadFile" 146 + :http-request="add_uploadFile"
145 :limit=1 147 :limit=1
146 :on-preview="handPreView" 148 :on-preview="handPreView"
147 :on-exceed="fileExceed" 149 :on-exceed="fileExceed"
@@ -175,8 +177,70 @@ @@ -175,8 +177,70 @@
175 placeholder="请输入海关代码"> 177 placeholder="请输入海关代码">
176 </el-input> 178 </el-input>
177 </el-form-item> 179 </el-form-item>
  180 + <el-form-item label="挂车牌号:" prop="trailerLicenseNo">
  181 + <el-input v-model="trailer_editForm.trailerLicenseNo" style="width:240px" size="mini" clearable
  182 + placeholder="请输入挂车牌号">
  183 + </el-input>
  184 + </el-form-item>
  185 + <el-form-item label="挂车注册地:" prop="trailerRegPlace">
  186 + <el-input v-model="trailer_editForm.trailerRegPlace" style="width:240px" size="mini" clearable
  187 + placeholder="请输入挂车注册地">
  188 + </el-input>
  189 + </el-form-item>
  190 + <el-form-item label="车架号码:" prop="frameNo">
  191 + <el-input v-model="trailer_editForm.frameNo" style="width:240px" size="mini" clearable
  192 + placeholder="请输入车架号码">
  193 + </el-input>
  194 + </el-form-item>
  195 + <el-form-item label="挂车重量:" prop="trailerWt">
  196 + <el-input v-model="trailer_editForm.trailerWt" style="width:240px" size="mini" clearable
  197 + placeholder="请输入挂车重量">
  198 + </el-input>
  199 + </el-form-item>
  200 + <el-form-item label="挂车颜色:" prop="trailerColor">
  201 + <el-input v-model="trailer_editForm.trailerColor" style="width:240px" size="mini" clearable
  202 + placeholder="请输入挂车颜色">
  203 + </el-input>
  204 + </el-form-item>
  205 + <el-form-item label="申请人:" prop="proposer">
  206 + <el-input v-model="trailer_editForm.proposer" style="width:240px" size="mini" clearable
  207 + placeholder="请输入申请人">
  208 + </el-input>
  209 + </el-form-item>
  210 + <el-form-item label="申请时间:" prop="proposeTime">
  211 + <el-date-picker v-model="trailer_editForm.proposeTime" clearable type="datetime"
  212 + value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请时间" size="mini" style="width:240px"></el-date-picker>
  213 + </el-form-item>
178 214
  215 + <el-form-item label="挂车备案类别:" prop="trailerClassFlag">
  216 + <el-input v-model="trailer_editForm.trailerClassFlag" style="width:240px" size="mini" clearable
  217 + placeholder="请输入挂车备案类别">
  218 + </el-input>
  219 + </el-form-item>
  220 + <el-form-item label="数据操作类型:" prop="operationType">
  221 + <el-input v-model="trailer_editForm.operationType" style="width:240px" size="mini" clearable
  222 + placeholder="请输入数据操作类型">
  223 + </el-input>
  224 + </el-form-item>
  225 + <el-form-item label="挂车牌号图片:" prop="trailerLicenseNoPic">
  226 + <img v-if="trailer_config.edit_progressFlag" style="width: 100px;height: 100px" :src="trailer_config.edit_imageUrl"/>
  227 + <el-upload
  228 + style="display: inline; margin-left: 10px;margin-right: 10px;"
  229 + action=""
  230 + :show-file-list="true"
  231 + :http-request="edit_uploadFile"
  232 + :limit=1
  233 + :on-preview="handPreView"
  234 + :on-exceed="fileExceed"
  235 + accept="image/jpeg,image/jpg,image/png"
  236 + ref="fileupload">
  237 + <el-button slot="trigger" size="small" type="primary">上传图片</el-button>
  238 + <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
  239 + </el-upload>
  240 + </el-form-item>
179 </el-form> 241 </el-form>
  242 +
  243 +
180 <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px"> 244 <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
181 <el-button type="info" @click="trailer_dialog.editDialog = false" size="medium" 245 <el-button type="info" @click="trailer_dialog.editDialog = false" size="medium"
182 style="width: 100px">取消 246 style="width: 100px">取消
@@ -206,8 +270,11 @@ @@ -206,8 +270,11 @@
206 return { 270 return {
207 trailerUpload: '', 271 trailerUpload: '',
208 trailer_config: { 272 trailer_config: {
209 - progressFlag: true, 273 + progressFlag: false,
210 imageUrl: '', 274 imageUrl: '',
  275 +
  276 + edit_progressFlag: false,
  277 + edit_imageUrl: '',
211 }, 278 },
212 279
213 /** 280 /**
@@ -357,6 +424,10 @@ @@ -357,6 +424,10 @@
357 */ 424 */
358 trailer_addDialogClosed() { 425 trailer_addDialogClosed() {
359 this.$refs.trailer_addFormRef.resetFields(); 426 this.$refs.trailer_addFormRef.resetFields();
  427 + // 把上传图片清空
  428 + this.trailer_config.progressFlag = false;
  429 + this.trailer_config.imageUrl = undefined;
  430 + this.trailer_addForm.trailerLicenseNoPic = undefined;
360 }, 431 },
361 432
362 /** 433 /**
@@ -397,6 +468,11 @@ @@ -397,6 +468,11 @@
397 */ 468 */
398 trailer_editDialogClosed() { 469 trailer_editDialogClosed() {
399 this.$refs.trailer_editFormRef.resetFields(); 470 this.$refs.trailer_editFormRef.resetFields();
  471 +
  472 + // 把上传图片清空
  473 + this.trailer_config.edit_progressFlag = false;
  474 + this.trailer_config.edit_imageUrl = undefined;
  475 + this.trailer_editForm.trailerLicenseNoPic = undefined;
400 }, 476 },
401 477
402 /** 478 /**
@@ -486,8 +562,8 @@ @@ -486,8 +562,8 @@
486 }).catch(() => { 562 }).catch(() => {
487 }); 563 });
488 }, 564 },
489 - // 自定义上传  
490 - uploadFile(item) { 565 + // 备案添加时,自定义上传(后端暂为临时路径)
  566 + add_uploadFile(item) {
491 const form = new FormData() 567 const form = new FormData()
492 form.append('file', item.file) 568 form.append('file', item.file)
493 uploadFileImage(form).then(response => { 569 uploadFileImage(form).then(response => {
@@ -495,10 +571,29 @@ @@ -495,10 +571,29 @@
495 if (res.code !== '200') { 571 if (res.code !== '200') {
496 this.$message.error(res.msg) 572 this.$message.error(res.msg)
497 } 573 }
498 - this.$message.success(res.msg);  
499 - item.onSuccess()  
500 - this.trailer_config.progressFlag = false;  
501 this.trailer_config.imageUrl = res.data; 574 this.trailer_config.imageUrl = res.data;
  575 + this.trailer_addForm.trailerLicenseNoPic = this.trailer_config.imageUrl;
  576 +
  577 + this.trailer_config.progressFlag = true;
  578 + item.onSuccess();
  579 + this.$message.success(res.msg);
  580 + })
  581 + },
  582 + // 备案修改时,自定义上传
  583 + edit_uploadFile(item) {
  584 + const form = new FormData()
  585 + form.append('file', item.file)
  586 + uploadFileImage(form).then(response => {
  587 + let res = response.data;
  588 + if (res.code !== '200') {
  589 + this.$message.error(res.msg)
  590 + }
  591 + this.trailer_config.edit_imageUrl = res.data;
  592 + this.trailer_editForm.trailerLicenseNoPic = this.trailer_config.edit_imageUrl;
  593 +
  594 + this.trailer_config.edit_progressFlag = true;
  595 + item.onSuccess();
  596 + this.$message.success(res.msg);
502 }) 597 })
503 }, 598 },
504 fileExceed() { 599 fileExceed() {
@@ -52,7 +52,8 @@ @@ -52,7 +52,8 @@
52 </el-tooltip> 52 </el-tooltip>
53 <el-tooltip effect="dark" content="审批" placement="top-start" :enterable="false"> 53 <el-tooltip effect="dark" content="审批" placement="top-start" :enterable="false">
54 <el-button type="text" icon="el-icon-star-off" size="mini" 54 <el-button type="text" icon="el-icon-star-off" size="mini"
55 - @click="vehicle_audit">审批 55 + :loading="vehicle_loading.approvalLoading"
  56 + @click="vehicle_audit(scope.$index,scope.row)">审批
56 </el-button> 57 </el-button>
57 </el-tooltip> 58 </el-tooltip>
58 </template> 59 </template>
@@ -292,7 +293,7 @@ @@ -292,7 +293,7 @@
292 </template> 293 </template>
293 294
294 <script> 295 <script>
295 - import {selectVehicleList, insertVehicle, updateVehicle, batchRemoveVehicle, deleteVehicle} from "../../api/vehicle_dispatch"; 296 + import {selectVehicleList, insertVehicle, updateVehicle, batchRemoveVehicle, deleteVehicle, approvalVehicle} from "../../api/vehicle_dispatch";
296 297
297 export default { 298 export default {
298 name: "Vehicle", 299 name: "Vehicle",
@@ -333,6 +334,7 @@ @@ -333,6 +334,7 @@
333 editLoading: false, 334 editLoading: false,
334 delLoading: false, 335 delLoading: false,
335 batchDelLoading: false, 336 batchDelLoading: false,
  337 + approvalLoading: false,
336 }, 338 },
337 339
338 /** 340 /**
@@ -656,13 +658,29 @@ @@ -656,13 +658,29 @@
656 /** 658 /**
657 * 审计 659 * 审计
658 */ 660 */
659 - vehicle_audit() { 661 + vehicle_audit(index, row) {
660 this.$confirm('确认要审批吗?', '系统提示', { 662 this.$confirm('确认要审批吗?', '系统提示', {
661 confirmButtonText: '确定', 663 confirmButtonText: '确定',
662 cancelButtonText: '取消', 664 cancelButtonText: '取消',
663 type: 'warning' 665 type: 'warning'
664 } 666 }
665 - ) 667 + ).then(() => {
  668 + this.vehicle_loading.approvalLoading = true;
  669 + approvalVehicle(row).then((response) => {
  670 + let res = response.data;
  671 + if (res.code !== '200') {
  672 + this.vehicle_loading.approvalLoading = false;
  673 + return this.$message.error(res.msg);
  674 + }
  675 + this.vehicle_loading.approvalLoading = false;
  676 + this.$message.success(res.msg);
  677 + this.vehicle_getList();
  678 + }).catch(error => {
  679 + this.vehicle_loading.approvalLoading = false;
  680 + this.$message.error(error.toString());
  681 + });
  682 + }).catch(() => {
  683 + });
666 }, 684 },
667 }, 685 },
668 created() { 686 created() {