<template>
|
<el-dialog
|
:visible.sync="carrierLicenseVisible"
|
append-to-body
|
:title="title"
|
:close-on-click-modal="false"
|
width="70%"
|
>
|
|
<el-form ref="dataForm" :model="dataForm" :rules="ruleForm" label-position="right" label-width="150px" element-loading-text="保存中...">
|
<div class="enterpriseBasicInformation_title">
|
<span>基本信息(带*为必填项)</span>
|
</div>
|
<el-divider></el-divider>
|
|
<div>
|
<el-row >
|
<el-col :span="10">
|
<el-form-item label="运输证类型:">
|
<!-- <el-select v-model.trim="dataForm.instituteId" placeholder="请选择研究所" style="width:100%;" @change="handleInstituteChange">-->
|
<!-- <el-option v-for="(item,index) in instituteList" :label="item.name" :value="item.id" :key="index"/>-->
|
<!-- </el-select>-->
|
<el-select v-model.trim="dataForm.type" placeholder="" clearable :disabled="ifShow">
|
<el-option
|
v-for="item in typeList"
|
:key="item.id"
|
:value="item.name"
|
:label="item.name"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="销售单位名称:" >
|
<el-input v-model.trim="dataForm.salecompanyname" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="生产经营许可证号:" >
|
<el-input v-model.trim="dataForm.productionlicense" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="安全买卖合同编号:">
|
<el-input v-model.trim="dataForm.contractnumber" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="电子合同编号:">
|
<el-select v-model.trim="dataForm.contractcode" class="carrierLicense_select" multiple :disabled="ifShow">
|
<el-option
|
v-for="item in contractList"
|
:key="item.id"
|
:value="item.ordercode"
|
:label="item.ordercode"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
</div>
|
|
<div class="enterpriseBasicInformation_title">
|
<span>托运人信息(带*为必填项)</span>
|
</div>
|
<el-divider></el-divider>
|
|
<div>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="单位名称:">
|
<el-input v-model.trim="dataForm.shippercompanyname" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="地址:">
|
<el-input v-model.trim="dataForm.shipperaddress" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="负责人姓名:">
|
<el-input v-model.trim="dataForm.shipperprincipalname" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="负责人电话:">
|
<el-input v-model.trim="dataForm.shipperprincipalphone" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="经办人姓名:">
|
<el-input v-model.trim="dataForm.shippermanagername" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="经办人身份证号:">
|
<el-input v-model.trim="dataForm.shippermanageridentify" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="经办人联系电话:">
|
<el-input v-model.trim="dataForm.shippermanagerphone" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
|
<div class="enterpriseBasicInformation_title">
|
<span>收货人信息(带*为必填项)</span>
|
</div>
|
<el-divider></el-divider>
|
|
<div>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="单位名称:">
|
<el-input v-model.trim="dataForm.receivercompanyname" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="地址:">
|
<el-input v-model.trim="dataForm.receiveraddress" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="负责人姓名:">
|
<el-input v-model.trim="dataForm.receiverprincipalname" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="负责人电话:">
|
<el-input v-model.trim="dataForm.receiverprincipalphone" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
|
<div class="enterpriseBasicInformation_title">
|
<span>承运人信息(带*为必填项)</span>
|
</div>
|
<el-divider></el-divider>
|
|
<div>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="单位名称:">
|
<el-input v-model.trim="dataForm.carriercompanyname" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="危险货物道路运输资格证号:">
|
<el-input v-model.trim="dataForm.carriernumber" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="地址:">
|
<el-input v-model.trim="dataForm.carrieraddress" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="负责人姓名:">
|
<el-input v-model.trim="dataForm.carrierprincipalname" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="负责人联系电话:">
|
<el-input v-model.trim="dataForm.carrierprincipalphone" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="运输车辆牌号:">
|
<el-input v-model.trim="dataForm.carriercarnumber" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="道路运输证编号:">
|
<el-input v-model.trim="dataForm.carrierroadnumber" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-form-item label="证件有效期:" :disabled="ifShow">
|
<el-date-picker
|
:disabled="ifShow"
|
v-model="dataForm.carriervalidtime"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期"
|
class="enterpriseBasicInformation_input">
|
</el-date-picker>
|
</el-form-item>
|
</el-row>
|
</div>
|
|
<div class="enterpriseBasicInformation_title">
|
<span>驾驶员/押运员信息(带*为必填项)</span>
|
</div>
|
<el-divider></el-divider>
|
|
<div>
|
<el-row v-if="ifShowButton">
|
<el-col :span="20">
|
<el-form-item label="驾驶员/押运员:" prop="成立时间">
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary" @click="addDriver('新增','')">添加</el-button>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<div class="table_content">
|
<el-table
|
:key="tableKey"
|
:data="dataForm.transportPerson"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="序号" type="index" align="center" width="60"/>
|
<el-table-column label="类型" prop="type" align="center">
|
</el-table-column>
|
<el-table-column label="姓名" prop="personname" align="center">
|
</el-table-column>
|
<el-table-column label="身份证号" prop="personidentify" align="center">
|
</el-table-column>
|
<el-table-column label="资格证号" prop="number" align="center">
|
</el-table-column>
|
<el-table-column label="资格证号有效期" prop="validtime" align="center">
|
</el-table-column>
|
<el-table-column label="联系电话" prop="phone" align="center">
|
</el-table-column>
|
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
|
<template slot-scope="scope">
|
<el-button type="text" @click="deleteDriver(scope.$index)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
|
<div class="enterpriseBasicInformation_title">
|
<span>其他信息(带*为必填项)</span>
|
</div>
|
<el-divider></el-divider>
|
|
<div>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="起运地:">
|
<el-input v-model.trim="dataForm.otherdeparture" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="到达地:" >
|
<el-input v-model.trim="dataForm.otherdestination" class="carrierLicense_select" :disabled="ifShow">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="运输起始时间:">
|
<el-date-picker
|
:disabled="ifShow"
|
v-model="dataForm.othershipstarttime"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="运输结束时间:">
|
<el-date-picker
|
:disabled="ifShow"
|
v-model="dataForm.othershipendtime"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="20">
|
<el-form-item label="备注:">
|
<el-input
|
:disabled="ifShow"
|
class="carrierLicense_select"
|
type="textarea"
|
:autosize="{ minRows: 2, maxRows: 4}"
|
placeholder="请输入内容"
|
v-model="dataForm.othermemo">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row v-if="ifShowButton">
|
<el-col :span="20">
|
<el-form-item label="途径地:">
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary" @click="addApproach('新增','')">添加</el-button>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
|
<div class="table_content">
|
<el-table
|
:key="tableKey"
|
:data="dataForm.transportApproach"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="序号" type="index" align="center" width="60"/>
|
<el-table-column label="途径地" align="center">
|
<template slot-scope="scope">
|
<span>{{scope.row.province}}</span>
|
<span>-</span>
|
<span >{{scope.row.city}}</span>
|
<span>-</span>
|
<span>{{scope.row.district}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
|
<template slot-scope="scope">
|
<el-button type="text" @click="deleteApproach(scope.$index)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
|
<div class="enterpriseBasicInformation_title">
|
<span>物品信息(带*为必填项)</span>
|
</div>
|
<el-divider></el-divider>
|
|
<div>
|
<el-row v-if="ifShowButton">
|
<el-col :span="4">
|
<el-form-item label="添加物品:" prop="成立时间">
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary" @click="addProduct('新增','')">添加</el-button>
|
</el-form-item>
|
</el-col>
|
<el-col :span="4">
|
<el-form-item label="上传产品:" >
|
<el-upload
|
class="upload"
|
:action="actionUrlPrefixx+'/transport/product2json'"
|
:headers="headers"
|
:on-preview="handlePreview"
|
:on-remove="handleRemove"
|
:before-remove="beforeRemove"
|
:limit="1"
|
:before-upload="beforeUpload"
|
:on-exceed="handleExceed"
|
:on-success="handleSuccess"
|
:on-error="handleError"
|
:show-file-list="false"
|
:file-list="fileList">
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary">上传产品</el-button>
|
</el-upload>
|
</el-form-item>
|
</el-col>
|
<el-col :span="4">
|
<el-form-item label="清空产品:" >
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary" @click="clearProduct()">清空产品</el-button>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="4">
|
<el-form-item label="参考模板:">
|
<el-button type="text" style="margin-left: 10px;" @click="viewHandle">下载excel</el-button>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="6">
|
<el-form-item label="注意事项:" >
|
<span class="tip-important" style="margin-left: 10px;" data-role="time-label">需要上传请先上传产品!</span>
|
</el-form-item>
|
</el-col>
|
|
|
</el-row>
|
<div class="table_content">
|
<el-table
|
:key="tableKey"
|
:data="dataForm.transportProduct"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="序号" type="index" align="center" width="60"/>
|
<el-table-column label="类别" prop="type" align="center">
|
</el-table-column>
|
<el-table-column label="名称" prop="name" align="center">
|
</el-table-column>
|
<el-table-column label="级别" prop="level" align="center">
|
</el-table-column>
|
<el-table-column label="包装方式" prop="packing" align="center">
|
</el-table-column>
|
<el-table-column label="规格" prop="specification" align="center">
|
</el-table-column>
|
<el-table-column label="箱含量" prop="productnum" align="center">
|
</el-table-column>
|
<el-table-column label="运输数量" prop="num" align="center">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.num"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column label="到货数量" prop="arrivalnum" align="center"/>
|
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
|
<template slot-scope="scope">
|
<el-button type="text" @click="deleteProduct (scope.$index)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
|
|
<div class="enterpriseBasicInformation_title">
|
<span>扫描物件信息</span>
|
</div>
|
<el-divider></el-divider>
|
|
<div>
|
<el-row class="carrierLicense_upload_top">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>承运单位从事危险货物运输资格证明:</span>
|
<input :disabled="ifShow" id="uploadOne" ref="uploadOne" type="file" accept="image/*" multiple @change="uploadOne"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img1" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>驾驶员,押货员从事危险货物运输的资格证明:</span>
|
<input :disabled="ifShow" id="uploadTwo" ref="uploadTwo" type="file" accept="image/*" multiple @change="uploadTwo"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img2" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>驾驶员,押运员身份证:</span>
|
<input :disabled="ifShow" id="uploadThree" ref="uploadThree" type="file" accept="image/*" multiple @change="uploadThree"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img3" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>危险货物运输车辆道路运输证明:</span>
|
<input :disabled="ifShow" id="uploadFour" ref="uploadFour" type="file" accept="image/*" multiple @change="uploadFour"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img4" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>托运人烟花爆竹生产(经营)许可证:</span>
|
<input :disabled="ifShow" id="uploadFive" ref="uploadFive" type="file" accept="image/*" multiple @change="uploadFive"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img5" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>销售单位烟花爆竹生产(经营)许可证:</span>
|
<input :disabled="ifShow" id="uploadSix" ref="uploadSix" type="file" accept="image/*" multiple @change="uploadSix"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img6" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>烟花爆竹购销合同:</span>
|
<input :disabled="ifShow" id="uploadSeven" ref="uploadSeven" type="file" accept="image/*" multiple @change="uploadSeven"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img7" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>烟花爆竹产品质量检测报告:</span>
|
<input :disabled="ifShow" id="uploadEight" ref="uploadEight" type="file" accept="image/*" multiple @change="uploadEight"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img8" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>烟花爆竹产品包装合格证明:</span>
|
<input :disabled="ifShow" id="uploadNine" ref="uploadNine" type="file" accept="image/*" multiple @change="uploadNine"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img9" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
<el-row class="carrierLicense_upload">
|
<el-col :span="12" class="carrierLicense_col_left">
|
<span>驾公安机关要求提供的其他申请资料:</span>
|
<input :disabled="ifShow" id="uploadTen" ref="uploadTen" type="file" accept="image/*" multiple @change="uploadTen"/>
|
</el-col>
|
<el-col :span="12" class="carrierLicense_col_right">
|
<img v-for="(item,index) in img10" :src="item" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(item)"></img>
|
</el-col>
|
</el-row>
|
</div>
|
|
</el-form>
|
|
<div align="right" style="margin-top: 20px;">
|
<el-button @click="carrierLicenseVisible = false">取消</el-button>
|
<el-button type="primary" @click="submitCarrier()">确认</el-button>
|
</div>
|
|
<driverSelectForm ref="driverSelectForm" @getinfo="achieveDriver"></driverSelectForm>
|
<addApproach ref="area" @giveApproach="achieveApproach"></addApproach>
|
<addProduct ref="product" @giveProduct="achieveProduct"></addProduct>
|
</el-dialog>
|
</template>
|
|
<script>
|
import {uploadUrl} from '@/assets/upload/url'
|
import addProduct from "./components/addProduct";
|
import addApproach from "./components/addApproach";
|
import driverSelectForm from "./components/driverSelectForm";
|
import { addCertificate ,updateCertificate ,updateFile } from "../../../api/tranportList";
|
import {confirmList} from "../../../api/contract";
|
import { getToken } from '@/utils/auth'
|
const exampleFile = require('@/assets/example/productInfo.xlsx')
|
export default {
|
name: "CarrierLicense",
|
data(){
|
return{
|
fileList:[],
|
actionUrlPrefixx:process.env.BASE_API,
|
headers:{ 'Authorization':getToken()},
|
title:'',
|
tableKey:'',
|
recordTotal:0,
|
currentPage:1,
|
pageSize:10,
|
ifShow:false,
|
ifShowButton:true,
|
dataForm:{
|
type:'',
|
salecompanyname:'',
|
productionlicense:'',
|
contractnumber:'',
|
contractcode:'',
|
shippercompanyname:'',
|
shipperaddress:'',
|
shipperprincipalname:'',
|
shipperprincipalphone:'',
|
shippermanagername:'',
|
shippermanageridentify:'',
|
shippermanagerphone:'',
|
receivercompanyname:'',
|
receiveraddress:'',
|
receiverprincipalname:'',
|
receiverprincipalphone:'',
|
carrierid:'',
|
carriercompanyname:'',
|
carrieraddress:'',
|
carrierprincipalname:'',
|
carrierprincipalphone:'',
|
carriernumber:'',
|
carrierroadnumber:'',
|
carriercarnumber:'',
|
carriervalidtime:'',
|
otherdeparture:'',
|
otherdestination:'',
|
othershipstarttime:'',
|
othershipendtime:'',
|
othermemo:'',
|
transportPerson:[],
|
transportApproach:[],
|
transportProduct:[],
|
transportFile:{
|
id:2,
|
certificatecode:"",
|
url1:"",
|
url2:"",
|
url3:"",
|
url4:"",
|
url5:"",
|
url6:"",
|
url7:"",
|
url8:"",
|
url9:"",
|
url10:"",
|
validflag:"",
|
}
|
},
|
file:[],
|
img1:[],
|
img2:[],
|
img3:[],
|
img4:[],
|
img5:[],
|
img6:[],
|
img7:[],
|
img8:[],
|
img9:[],
|
img10:[],
|
ruleForm:{
|
},
|
typeList:[
|
{id:1,name:'出口'},
|
{id:2,name:'购买'},
|
{id:3,name:'本单位运输'}
|
],
|
contractList:[],
|
carrierLicenseVisible:false,
|
}
|
},
|
components:{
|
driverSelectForm,
|
addApproach,
|
addProduct
|
},
|
created(){
|
this.getConfirmList()
|
},
|
methods:{
|
showCarrierLicense(title,value){
|
this.title = title
|
this.carrierLicenseVisible = true
|
if(this.title === '新增'){
|
this.ifShowButton = true
|
this.ifShow = false
|
this.dataForm = {
|
type:'',
|
salecompanyname:'',
|
productionlicense:'',
|
contractnumber:'',
|
contractcode:'',
|
shippercompanyname:'',
|
shipperaddress:'',
|
shipperprincipalname:'',
|
shipperprincipalphone:'',
|
shippermanagername:'',
|
shippermanageridentify:'',
|
shippermanagerphone:'',
|
receivercompanyname:'',
|
receiveraddress:'',
|
receiverprincipalname:'',
|
receiverprincipalphone:'',
|
carrierid:'',
|
carriercompanyname:'',
|
carrieraddress:'',
|
carrierprincipalname:'',
|
carrierprincipalphone:'',
|
carriernumber:'',
|
carrierroadnumber:'',
|
carriercarnumber:'',
|
carriervalidtime:'',
|
otherdeparture:'',
|
otherdestination:'',
|
othershipstarttime:'',
|
othershipendtime:'',
|
othermemo:'',
|
transportPerson:[],
|
transportApproach:[],
|
transportProduct:[],
|
transportFile:{
|
id:2,
|
certificatecode:"",
|
url1:"",
|
url2:"",
|
url3:"",
|
url4:"",
|
url5:"",
|
url6:"",
|
url7:"",
|
url8:"",
|
url9:"",
|
url10:"",
|
validflag:"",
|
}
|
}
|
this.img1 = []
|
this.img2 = []
|
this.img3 = []
|
this.img4 = []
|
this.img5 = []
|
this.img6 = []
|
this.img7 = []
|
this.img8 = []
|
this.img9 = []
|
this.img10 = []
|
}else if(this.title === '查看'){
|
this.ifShow = true
|
this.ifShowButton = false
|
this.dataForm = value
|
if(this.dataForm.transportFile.url1 !== "" && this.dataForm.transportFile.url1 !== null){
|
this.img1 = this.dataForm.transportFile.url1.split(",")
|
}else{
|
this.img1 = []
|
}
|
if(this.dataForm.transportFile.url2 !== "" && this.dataForm.transportFile.url2 !== null){
|
this.img2 = this.dataForm.transportFile.url2.split(",")
|
}else{
|
this.img2 = []
|
}
|
if(this.dataForm.transportFile.url3 !== "" && this.dataForm.transportFile.url3 !== null){
|
this.img3 = this.dataForm.transportFile.url3.split(",")
|
}else{
|
this.img3 = []
|
}
|
if(this.dataForm.transportFile.url4 !== "" && this.dataForm.transportFile.url4 !== null){
|
this.img4 = this.dataForm.transportFile.url4.split(",")
|
}else{
|
this.img4 = []
|
}
|
if(this.dataForm.transportFile.url5 !== "" && this.dataForm.transportFile.url5 !== null){
|
this.img5 = this.dataForm.transportFile.url5.split(",")
|
}else{
|
this.img5 = []
|
}
|
if(this.dataForm.transportFile.url6 !== "" && this.dataForm.transportFile.url6 !== null){
|
this.img6 = this.dataForm.transportFile.url6.split(",")
|
}else{
|
this.img6 = []
|
}
|
if(this.dataForm.transportFile.url7 !== "" && this.dataForm.transportFile.url7 !== null){
|
this.img7 = this.dataForm.transportFile.url7.split(",")
|
}else{
|
this.img7 = []
|
}
|
if(this.dataForm.transportFile.url8 !== "" && this.dataForm.transportFile.url8 !== null){
|
this.img8 = this.dataForm.transportFile.url8.split(",")
|
}else{
|
this.img8 = []
|
}
|
if(this.dataForm.transportFile.url9 !== "" && this.dataForm.transportFile.url9 !== null){
|
this.img9 = this.dataForm.transportFile.url9.split(",")
|
}else{
|
this.img9 = []
|
}
|
if(this.dataForm.transportFile.url10 !== "" && this.dataForm.transportFile.url10 !== null){
|
this.img10 = this.dataForm.transportFile.url10.split(",")
|
}else{
|
this.img10 = []
|
}
|
let a = !this.dataForm.contractcode.length
|
if(this.dataForm.contractcode !== "" && this.dataForm.contractcode !== null){
|
this.dataForm.contractcode = this.dataForm.contractcode.split(",")
|
}else{
|
this.dataForm.contractcode = []
|
}
|
}else{
|
this.ifShowButton = true
|
this.ifShow = false
|
this.dataForm = value
|
if(this.dataForm.transportFile.url1 !== "" && this.dataForm.transportFile.url1 !== null){
|
this.img1 = this.dataForm.transportFile.url1.split(",")
|
}else{
|
this.img1 = []
|
}
|
if(this.dataForm.transportFile.url2 !== "" && this.dataForm.transportFile.url2 !== null){
|
this.img2 = this.dataForm.transportFile.url2.split(",")
|
}else{
|
this.img2 = []
|
}
|
if(this.dataForm.transportFile.url3 !== "" && this.dataForm.transportFile.url3 !== null){
|
this.img3 = this.dataForm.transportFile.url3.split(",")
|
}else{
|
this.img3 = []
|
}
|
if(this.dataForm.transportFile.url4 !== "" && this.dataForm.transportFile.url4 !== null){
|
this.img4 = this.dataForm.transportFile.url4.split(",")
|
}else{
|
this.img4 = []
|
}
|
if(this.dataForm.transportFile.url5 !== "" && this.dataForm.transportFile.url5 !== null){
|
this.img5 = this.dataForm.transportFile.url5.split(",")
|
}else{
|
this.img5 = []
|
}
|
if(this.dataForm.transportFile.url6 !== "" && this.dataForm.transportFile.url6 !== null){
|
this.img6 = this.dataForm.transportFile.url6.split(",")
|
}else{
|
this.img6 = []
|
}
|
if(this.dataForm.transportFile.url7 !== "" && this.dataForm.transportFile.url7 !== null){
|
this.img7 = this.dataForm.transportFile.url7.split(",")
|
}else{
|
this.img7 = []
|
}
|
if(this.dataForm.transportFile.url8 !== "" && this.dataForm.transportFile.url8 !== null){
|
this.img8 = this.dataForm.transportFile.url8.split(",")
|
}else{
|
this.img8 = []
|
}
|
if(this.dataForm.transportFile.url9 !== "" && this.dataForm.transportFile.url9 !== null){
|
this.img9 = this.dataForm.transportFile.url9.split(",")
|
}else{
|
this.img9 = []
|
}
|
if(this.dataForm.transportFile.url10 !== "" && this.dataForm.transportFile.url10 !== null){
|
this.img10 = this.dataForm.transportFile.url10.split(",")
|
}else{
|
this.img10 = []
|
}
|
let a = !this.dataForm.contractcode.length
|
if(this.dataForm.contractcode !== "" && this.dataForm.contractcode !== null){
|
this.dataForm.contractcode = this.dataForm.contractcode.split(",")
|
}else{
|
this.dataForm.contractcode = []
|
}
|
}
|
},
|
addDriver(){
|
this.$refs.driverSelectForm.selectDriver()
|
},
|
achieveDriver(value){
|
this.dataForm.transportPerson.push({personid:value.id,type:value.type,personname:value.name,personidentify:value.identify,number:value.certificate,validtime:value.validtime,phone:value.phone})
|
},
|
deleteDriver(index){
|
this.dataForm.transportPerson.splice(index,1);
|
},
|
addApproach(){
|
this.$refs.area.selectApproach()
|
},
|
achieveApproach(value){
|
this.dataForm.transportApproach.push({province:value.province,city:value.city,district:value.district})
|
},
|
deleteApproach(index){
|
this.dataForm.transportApproach.splice(index,1)
|
},
|
addProduct(){
|
this.$refs.product.selectProduct()
|
},
|
achieveProduct(value){
|
if (this.dataForm.transportProduct.length > 0) {
|
this.dataForm.transportProduct.forEach(item=>{
|
for (let ii = 0; ii < value.length; ii++) {
|
if (value[ii].directionCode === item.productcode) {
|
value.splice(ii,1)
|
}
|
}
|
})
|
}
|
for(let i=0;i<value.length;i++){
|
this.dataForm.transportProduct.push({productcode:value[i].directionCode,type:value[i].type,name:value[i].name,level:value[i].level,packing:value[i].packing,specification:value[i].specification,productnum:value[i].boxNumber,num:null,})
|
}
|
},
|
deleteProduct(index){
|
this.dataForm.transportProduct.splice(index,1)
|
},
|
|
async submitCarrier(){
|
if(this.dataForm.contractcode !== null && this.dataForm.contractcode !== ""){
|
this.dataForm.contractcode = this.dataForm.contractcode.join(",")
|
}
|
if(this.img1 !== "" &&this.img1 !== null){
|
this.dataForm.transportFile.url1 = this.img1.join(",")
|
}
|
if(this.img2 !== "" &&this.img2 !== null){
|
this.dataForm.transportFile.url2 = this.img2.join(",")
|
}
|
if(this.img3 !== "" &&this.img3 !== null){
|
this.dataForm.transportFile.url3 = this.img3.join(",")
|
}
|
if(this.img4 !== "" &&this.img4 !== null){
|
this.dataForm.transportFile.url4 = this.img4.join(",")
|
}
|
if(this.img5 !== "" &&this.img5 !== null){
|
this.dataForm.transportFile.url5 = this.img5.join(",")
|
}
|
if(this.img6 !== "" &&this.img6 !== null){
|
this.dataForm.transportFile.url6 = this.img6.join(",")
|
}
|
if(this.img7 !== "" &&this.img7 !== null){
|
this.dataForm.transportFile.url7 = this.img7.join(",")
|
}
|
if(this.img8 !== "" &&this.img8 !== null){
|
this.dataForm.transportFile.url8 = this.img8.join(",")
|
}
|
if(this.img9 !== "" &&this.img9 !== null){
|
this.dataForm.transportFile.url9 = this.img9.join(",")
|
}
|
if(this.img10 !== "" &&this.img10 !== null){
|
this.dataForm.transportFile.url10 = this.img10.join(",")
|
}
|
if(this.title === '新增'){
|
let res = await addCertificate(this.dataForm)
|
if(res.data.code === "200"){
|
this.carrierLicenseVisible = false
|
this.$emit('getinfo')
|
this.$notify({
|
title:'成功',
|
type:'success',
|
message:'成功',
|
duration:2000,
|
})
|
}else{
|
this.$message({
|
type:'warning',
|
message:res.data.message
|
})
|
}
|
}else{
|
let res = await updateCertificate(this.dataForm)
|
if(res.data.code === "200"){
|
this.carrierLicenseVisible = false
|
this.$emit('getinfo')
|
this.$notify({
|
title:'成功',
|
type:'success',
|
message:'成功',
|
duration:2000,
|
})
|
}else{
|
this.$message({
|
type:'warning',
|
message:res.data.message
|
})
|
}
|
}
|
},
|
|
async uploadOne(){
|
const files1 = this.$refs["uploadOne"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img1 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img1.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadTwo(){
|
const files1 = this.$refs["uploadTwo"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img2 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img2.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadThree(){
|
const files1 = this.$refs["uploadThree"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img3 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img3.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadFour(){
|
const files1 = this.$refs["uploadFour"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img4 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img4.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadFive(){
|
const files1 = this.$refs["uploadFive"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img5 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img5.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadSix(){
|
const files1 = this.$refs["uploadSix"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img6 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img6.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadSeven(){
|
const files1 = this.$refs["uploadSeven"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img7 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img7.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadEight(){
|
const files1 = this.$refs["uploadEight"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img8 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img8.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadNine(){
|
const files1 = this.$refs["uploadNine"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img9 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img9.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async uploadTen(){
|
const files1 = this.$refs["uploadTen"].files;
|
const formData = new FormData();
|
if (files1 && files1.length > 0) {
|
for (let i = 0; i < files1.length; i++)
|
formData.append("file", files1[i]);
|
}
|
let res = await updateFile(formData)
|
if(res.data.code === "200"){
|
this.$message({
|
title:'成功',
|
message:'上传成功',
|
type:'success',
|
duration:2000
|
})
|
this.img10 = []
|
for(let i = 0;i<res.data.result.length;i++){
|
this.img10.push(uploadUrl() + res.data.result[i])
|
}
|
}
|
},
|
|
async getConfirmList() {
|
const params = {}
|
params['pageIndex'] = 1
|
params['pageSize'] = 1000
|
let res = await confirmList()
|
this.contractList = res.data.result.result
|
},
|
showPic(val){
|
window.open(val, '_blank')
|
},
|
beforeUpload(file){
|
const fileSuffix = file.name.substring(file.name.lastIndexOf(".") + 1);
|
|
const whiteList = ["xls", "xlsx"];
|
|
if (whiteList.indexOf(fileSuffix) === -1) {
|
this.$message.warning("上传文件只能是 xls、xlsx格式", "error");
|
return false;
|
}
|
|
|
},
|
clearProduct(){
|
this.dataForm.transportProduct = []
|
},
|
handleRemove(file, fileList) {
|
if (file && file.status==="success") {
|
this.dataForm.transportProduct = []
|
return this.$confirm(`已清空产品信息`);
|
}
|
},
|
handlePreview(file) {
|
},
|
handleExceed(files, fileList) {
|
this.$message.warning(`当前限制选择 1个文件,本次选择了 ${files.length} 个文件`);
|
},
|
beforeRemove(file, fileList) {
|
if (file && file.status==="success") {
|
//移除方法
|
return this.$confirm(`确定移除 ${ file.name },并清空产品信息吗?`);
|
}
|
},
|
handleSuccess(response, file, fileList) {
|
if (response.code == '200') {
|
let value = response.result
|
if (value !=null && value.length>0)
|
for(let i = 0 ; i<value.length;i++){
|
this.dataForm.transportProduct.push({productcode:value[i].directionCode,type:value[i].type,name:value[i].name,level:value[i].level,packing:value[i].packing,specification:value[i].specification,productnum:value[i].boxNumber,num:value[i].num,})
|
}
|
this.$notify({
|
title: '成功',
|
duration: 2000,
|
message: '上传成功',
|
type: 'success'
|
})
|
this.fileList = []
|
}else{
|
this.$message.warning(response.message);
|
this.fileList = []
|
}
|
},
|
handleError(response, file, fileList) {
|
this.fileList = []
|
},
|
|
viewHandle(){
|
window.open(exampleFile, '_blank')
|
},
|
|
|
|
}
|
}
|
</script>
|
|
<style scoped>
|
.enterpriseBasicInformation_title{
|
font-weight: bolder;
|
font-size: large;
|
text-align: center;
|
margin-top: 24px;
|
}
|
.carrierLicense_select{
|
width:40%;
|
}
|
.carrierLicense_upload_top{
|
border:1px solid #DCDFE6;
|
}
|
.carrierLicense_upload{
|
border-bottom: 1px solid #DCDFE6;
|
border-left: 1px solid #DCDFE6;
|
border-right: 1px solid #DCDFE6;
|
}
|
.carrierLicense_col_left{
|
}
|
.carrierLicense_col_right{
|
padding-bottom:20px;
|
padding-top: 20px;
|
border-left:1px solid #DCDFE6;
|
}
|
</style>
|