Commit f90d8d48 authored by dragondean@qq.com's avatar dragondean@qq.com
parents 5a775a3d a0b3248a
import request from '@/utils/request'
// 创建提单托运人
export function createLadingShipper(data) {
return request({
url: '/ecw/lading-shipper/create',
method: 'post',
data: data
})
}
// 更新提单托运人
export function updateLadingShipper(data) {
return request({
url: '/ecw/lading-shipper/update',
method: 'put',
data: data
})
}
// 删除提单托运人
export function deleteLadingShipper(id) {
return request({
url: '/ecw/lading-shipper/delete?id=' + id,
method: 'delete'
})
}
// 获得提单托运人
export function getLadingShipper(id) {
return request({
url: '/ecw/lading-shipper/get?id=' + id,
method: 'get'
})
}
// 获得提单托运人分页
export function getLadingShipperPage(query) {
return request({
url: '/ecw/lading-shipper/page',
method: 'get',
params: query
})
}
// 导出提单托运人 Excel
export function exportLadingShipperExcel(query) {
return request({
url: '/ecw/lading-shipper/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}
......@@ -26,6 +26,15 @@ export function deleteSupplier(id) {
})
}
// 获得供应商列表
export function getSupplierList(query) {
return request({
url: '/ecw/supplier/list',
method: 'get',
params: query
})
}
// 获得供应商
export function getSupplier(id) {
return request({
......@@ -52,3 +61,30 @@ export function exportSupplierExcel(query) {
responseType: 'blob'
})
}
// 创建清关文件号码
export function createFileNo(data) {
return request({
url: '/ecw/clearance-file-no/create',
method: 'post',
data: data
})
}
// 更新供应商
export function updateFileNo(data) {
return request({
url: '/ecw/clearance-file-no/update',
method: 'put',
data: data
})
}
// 获得清关文件号码
export function getFileNoPage(query) {
return request({
url: '/ecw/clearance-file-no/page',
method: 'get',
params: query
})
}
\ No newline at end of file
<template>
<el-select
v-model="valueSync"
multiple
filterable
clearable
remote
reserve-keyword
:disabled="disabled"
placeholder="请输入关键词"
@focus="remoteMethod('')"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="(item) in list"
:key="item.id"
:label="$l(item, 'company') + '('+item.companyCode+')'"
:value="item.id">
</el-option>
</el-select>
</template>
<script>
import {getSupplierList, getSupplierPage} from '@/api/ecw/supplier'
export default {
props:{
companyType: [String, Number],
value: [Array],
disabled: {
type: Boolean,
default: false
}
},
data(){
return {
valueSync: [],
list:[],
loading: false
}
},
computed:{
},
watch:{
valueSync(val){
this.$emit('input', val)
},
value(val){
this.valueSync = this.value
this.init(val)
}
},
created(){
this.valueSync = this.value
this.init(this.value)
},
methods:{
init(val){
if(val === null || val == undefined || val == '') return
let params = {
ids: val.toString()
}
getSupplierList(params).then(res => {
this.list = res.data
})
},
remoteMethod(keyword){
let params = {
pageSize: 500,
companyType: this.companyType
}
params.keyword = keyword
this.loading = true
getSupplierPage(params)
.then(res => this.list = res.data.list)
.finally(() => this.loading = false)
}
}
}
</script>
\ No newline at end of file
<template>
<div class="app-container">
<el-form ref="elForm" :model="formData" :rules="rules" inline size="small" label-width="100px"
label-position="left">
<div>
<el-form-item :label="$t('公司全称')" prop="companyZh">
<el-input v-model="formData.companyZh" :placeholder="$t('请输入公司全称')" show-word-limit clearable readonly></el-input>
</el-form-item>
<el-form-item :label="$t('英文名称')" prop="companyEn">
<el-input v-model="formData.companyEn" :placeholder="$t('请输入公司英文名')" show-word-limit clearable readonly></el-input>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('合作开始时间')" prop="cooperationDateStart">
<el-date-picker v-model="formData.cooperationDateStart" value-format="timestamp" clearable disabled></el-date-picker>
</el-form-item>
<el-form-item :label="$t('合作结束时间')" prop="cooperationDateEnd">
<el-date-picker v-model="formData.cooperationDateEnd" value-format="timestamp" clearable disabled></el-date-picker>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('公司电话')" prop="tell">
<el-input v-model="formData.tell" :placeholder="$t('请输入公司电话')" clearable readonly></el-input>
</el-form-item>
<el-form-item :label="$t('邮件地址')" prop="email">
<el-input v-model="formData.email" :placeholder="$t('请输入邮箱地址')" clearable readonly></el-input>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('公司地址')" prop="address">
{{region}} {{formData.address}}
</el-form-item>
</div>
<div>
<el-form-item :label="$t('备注')" prop="remark">
<el-input v-model="formData.remark" type="textarea" :placeholder="$t('请输入备注')"
:autosize="{minRows: 4, maxRows: 4}" class="w-500" readonly></el-input>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('营业执照')" prop="license">
<el-image v-show="formData.license" :src="formData.license" style="width: 146px;height: 146px"></el-image>
</el-form-item>
<el-form-item :label="$t('合同')" prop="contract">
<el-image v-show="formData.contract" :src="formData.contract" style="width: 146px;height: 146px"></el-image>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('统一信用代码')" prop="licenseNumber">
<el-input v-model="formData.licenseNumber" :placeholder="$t('请输入统一社会信用代码')" clearable readonly
:style="{width: '100%'}"></el-input>
</el-form-item>
</div>
<el-form-item size="large" class="mt-20">
<el-button @click="$router.back()">{{$t('返回')}}</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { getLadingShipper } from "@/api/ecw/ladingShipper";
import upload from '@/components/ImageUpload'
import { listByIds } from "@/api/ecw/region";
import AreaSelector from '@/components/AreaSelector'
import {getCurrencyList} from '@/api/ecw/currency'
import Selector from '@/components/Selector'
import {validatePwd} from '@/api/ecw/busiPwd'
import { getDockPage } from "@/api/ecw/dock";
export default {
components: {upload, AreaSelector, Selector },
props: [],
data() {
return {
disabled: true,
formData: {
areaType: 0,
companyZh: undefined,
agentName: undefined,
tell: "",
address: "",
remark: undefined,
field110: undefined,
companyTypeArr: [],
cooperationType: undefined,
settlementPeriod: undefined,
priceAdvantage: undefined,
license: null,
contract: null,
licenseNumber: undefined,
contactList:[],
bankList: [],
resourceVO: {},
externalVO: {}
},
rules: {
companyZh: [{
required: true,
message: this.$t('请输入公司全称'),
trigger: 'blur'
}],
agentName: [],
tell: [],
address: [],
remark: [],
companyType: [{
required: true,
type: 'string',
message: this.$t('请至少选择一个供应商类别'),
trigger: 'change'
}],
cooperationType: [{
required: true,
message: this.$t('请选择合作类型'),
trigger: 'change'
}],
licenseNumber: [],
},
treeList:[],
provinceList:[],
cityList:[],
region: '',
// 码头
allDocks: [],
currencyList:[],
requireData: [
'COO证书','CXX证书','ABC证书','QWE证书','自定义'
],
fileList: [],
fileNoForm: {},
fileNoRules: {
country: [{required: true,message: this.$t('请输入国家'),trigger: 'blur'}],
district: [{required: true,message: this.$t('请输入地区'),trigger: 'blur'}],
fromNo: [{required: true,message: this.$t('请输入From M No'),trigger: 'blur'}],
baNo: [{required: true,message: this.$t('请输入BA NO'),trigger: 'blur'}],
},
showFileNoDialog: false
}
},
computed: {
},
watch: {
'formData.country'(country){
this.treeList.forEach(item => {
if(item.id == country){
this.provinceList = item.children || []
}
})
},
'formData.province'(province){
this.provinceList.forEach(item => {
if(item.id == province){
this.cityList = item.children || []
}
})
}
},
created() {
getCurrencyList().then(res => {
this.currencyList = res.data
})
if(this.$route.query.id){
getLadingShipper(this.$route.query.id).then(response => {
this.formData = response.data
listByIds({ids: [this.formData.country, this.formData.province, this.formData.city].join(',')}).then(res => {
console.log('listById', res)
let region = ''
res.data.forEach(item => {
region += " " + item.titleZh
})
this.region = region
})
});
}
},
mounted() {},
methods: {
strToArray(val) {
if(!val || val == '') {
return []
}else{
let data = val.split(",")
return data.map(item=>Number(item))
}
},
sameReceive() {
this.$set(this.formData.externalVO,'notifyCompanyName',this.formData.externalVO.receiveCompanyName)
this.$set(this.formData.externalVO,'notifyAddress',this.formData.externalVO.receiveAddress)
this.$set(this.formData.externalVO,'notifyTel',this.formData.externalVO.receiveTel)
this.$set(this.formData.externalVO,'notifyEmail',this.formData.externalVO.receiveEmail)
},
addFileNo() {
this.showFileNoDialog = true
this.$refs.fileNoForm.resetFields()
},
getFile() {
getFileNoPage().then(res => {
this.fileList = res.data.list
})
},
addfile() {
this.$refs.fileNoForm.validate(vaild=>{
if(vaild){
createFileNo(this.fileNoForm).then(()=>{
this.showFileNoDialog = false
this.getFile()
})
}else{
this.$message.error(this.$t('请完整填写表单'))
}
})
},
changeFile(val) {
let file = this.fileList.find(item=>item.id == val)
this.$set(this.formData.externalVO,'fromNo',file.fromNo)
this.$set(this.formData.externalVO,'baNo',file.baNo)
},
changeRequire(val) {
if(val != '自定义'){
this.$set(this.formData.externalVO,'clearanceRequire',val)
}else{
this.$set(this.formData.externalVO,'clearanceRequire','')
}
},
getCountry(countryId, districtId) {
let country = this.treeList.find(item=>item.id == countryId)
let district = country.children.find(item=>item.id == districtId)
return this.$l(country, 'title')+' '+this.$l(district, 'title')
},
delContact(index){
this.$confirm(this.$t('确定删除此联系人么?')).then(() => {
this.formData.contactList.splice(index, 1)
})
},
delBank(index){
if(this.formData.bankList[index].id){
this.$prompt(this.$t("请输入密码"), {
inputType: 'password'
})
.then(({value}) => {
if(value && value != ''){
return validatePwd({
busiType: 5,
pwd: value
})
}
this.$message.error(this.$t('密码不能为空'))
})
.then(res => {
if(!res.data){
return this.$message.error(this.$t('密码错误'))
}
this.formData.bankList.splice(index, 1)
})
return
}
this.$confirm(this.$t('确定删除此银行信息么?')).then(() => {
this.formData.bankList.splice(index, 1)
})
},
onAreaChange(type, val){
this.$set(this.formData, type, val)
},
}
}
</script>
<style lang="scss" scoped>
.el-upload__tip {
line-height: 1.2;
}
.card-header{
display: flex;
align-items: center;
justify-content: space-between;
.title{
font-size: 18px;
}
}
::v-deep .data-list .el-form-item__error{
position: static;
}
.red{
color: red;
}
.supplier-item{
margin-left: 30px;
}
</style>
<template>
<div class="app-container">
<el-form ref="elForm" :model="formData" :rules="rules" inline size="small" label-width="100px"
label-position="left">
<div>
<el-form-item :label="$t('公司全称')" prop="companyZh">
<el-input v-model="formData.companyZh" :placeholder="$t('请输入公司全称')" show-word-limit clearable></el-input>
</el-form-item>
<el-form-item :label="$t('英文名称')" prop="companyEn">
<el-input v-model="formData.companyEn" :placeholder="$t('请输入公司英文名')" show-word-limit clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('合作开始时间')" prop="cooperationDateStart">
<el-date-picker v-model="formData.cooperationDateStart" value-format="timestamp" clearable></el-date-picker>
</el-form-item>
<el-form-item :label="$t('合作结束时间')" prop="cooperationDateEnd">
<el-date-picker v-model="formData.cooperationDateEnd" value-format="timestamp" clearable></el-date-picker>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('公司电话')" prop="tell">
<el-input v-model="formData.tell" :placeholder="$t('请输入公司电话')" clearable></el-input>
</el-form-item>
<el-form-item :label="$t('邮件地址')" prop="email">
<el-input v-model="formData.email" :placeholder="$t('请输入邮箱地址')" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('公司地址')" prop="address">
<area-selector
:country="formData.country"
:province="formData.province"
:city="formData.city"
@countryChange="onAreaChange('country', $event)"
@provinceChange="onAreaChange('province', $event)"
@cityChange="onAreaChange('city', $event)"
/>
<el-input v-model="formData.address" :placeholder="$t('请输入详细地址')" class="mt-10"></el-input>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('备注')" prop="remark">
<el-input v-model="formData.remark" type="textarea" :placeholder="$t('请输入备注')"
:autosize="{minRows: 4, maxRows: 4}" class="w-500"></el-input>
</el-form-item>
</div>
<div>
<el-form-item :label="$t('营业执照')" prop="license">
<upload v-model="formData.license" />
</el-form-item>
<el-form-item :label="$t('合同')" prop="contract">
<upload v-model="formData.contract" />
</el-form-item>
</div>
<div>
<el-form-item :label="$t('统一信用代码')" prop="licenseNumber">
<el-input v-model="formData.licenseNumber" :placeholder="$t('请输入统一社会信用代码')" clearable
:style="{width: '100%'}"></el-input>
</el-form-item>
</div>
<el-form-item size="large" class="mt-20">
<el-button type="primary" @click="submitForm">{{$t('提交')}}</el-button>
<el-button @click="resetForm">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { createLadingShipper, updateLadingShipper, getLadingShipper } from "@/api/ecw/ladingShipper";
import upload from '@/components/ImageUpload'
import { getListTree } from "@/api/ecw/region";
import AreaSelector from '@/components/AreaSelector'
import {getCurrencyList} from '@/api/ecw/currency'
import Selector from '@/components/Selector'
import {validatePwd} from '@/api/ecw/busiPwd'
import { getDockPage } from "@/api/ecw/dock";
export default {
components: {upload, AreaSelector, Selector},
props: [],
data() {
return {
disabled: false,
formData: {
areaType: 0,
companyZh: undefined,
agentName: undefined,
tell: "",
address: "",
remark: undefined,
field110: undefined,
companyTypeArr: [],
cooperationType: undefined,
settlementPeriod: undefined,
priceAdvantage: undefined,
license: null,
contract: null,
licenseNumber: undefined,
contactList:[],
bankList: [],
resourceVO: {},
externalVO: {}
},
rules: {
companyZh: [{
required: true,
message: this.$t('请输入公司全称'),
trigger: 'blur'
}],
agentName: [],
tell: [],
address: [],
remark: [],
licenseNumber: [],
},
treeList:[],
provinceList:[],
cityList:[]
}
},
computed: {
},
watch: {
'formData.country'(country){
this.treeList.forEach(item => {
if(item.id == country){
this.provinceList = item.children || []
}
})
},
'formData.province'(province){
this.provinceList.forEach(item => {
if(item.id == province){
this.cityList = item.children || []
}
})
}
},
created() {
getCurrencyList().then(res => {
this.currencyList = res.data
})
// 回显数据需要在加载了地区数据之后,否则无法正常回显
getListTree({treeType: 1}).then(response => {
this.treeList = response.data
if(this.$route.query.id){
getLadingShipper(this.$route.query.id).then(response => {
this.formData = response.data
});
}
})
},
mounted() {},
methods: {
strToArray(val) {
if(!val || val == '') {
return []
}else{
let data = val.split(",")
return data.map(item=>Number(item))
}
},
sameReceive() {
this.$set(this.formData.externalVO,'notifyCompanyName',this.formData.externalVO.receiveCompanyName)
this.$set(this.formData.externalVO,'notifyAddress',this.formData.externalVO.receiveAddress)
this.$set(this.formData.externalVO,'notifyTel',this.formData.externalVO.receiveTel)
this.$set(this.formData.externalVO,'notifyEmail',this.formData.externalVO.receiveEmail)
},
addFileNo() {
this.showFileNoDialog = true
this.$refs.fileNoForm.resetFields()
},
getFile() {
getFileNoPage().then(res => {
this.fileList = res.data.list
})
},
addfile() {
this.$refs.fileNoForm.validate(vaild=>{
if(vaild){
createFileNo(this.fileNoForm).then(()=>{
this.showFileNoDialog = false
this.getFile()
})
}else{
this.$message.error(this.$t('请完整填写表单'))
}
})
},
changeFile(val) {
let file = this.fileList.find(item=>item.id == val)
this.$set(this.formData.externalVO,'fromNo',file.fromNo)
this.$set(this.formData.externalVO,'baNo',file.baNo)
},
changeRequire(val) {
if(val != '自定义'){
this.$set(this.formData.externalVO,'clearanceRequire',val)
}else{
this.$set(this.formData.externalVO,'clearanceRequire','')
}
},
getCountry(countryId, districtId) {
let country = this.treeList.find(item=>item.id == countryId)
let district = country.children.find(item=>item.id == districtId)
return this.$l(country, 'title')+' '+this.$l(district, 'title')
},
delContact(index){
this.$confirm(this.$t('确定删除此联系人么?')).then(() => {
this.formData.contactList.splice(index, 1)
})
},
delBank(index){
if(this.formData.bankList[index].id){
this.$prompt(this.$t("请输入密码"), {
inputType: 'password'
})
.then(({value}) => {
if(value && value != ''){
return validatePwd({
busiType: 5,
pwd: value
})
}
this.$message.error(this.$t('密码不能为空'))
})
.then(res => {
if(!res.data){
return this.$message.error(this.$t('密码错误'))
}
this.formData.bankList.splice(index, 1)
})
return
}
this.$confirm(this.$t('确定删除此银行信息么?')).then(() => {
this.formData.bankList.splice(index, 1)
})
},
onAreaChange(type, val){
this.$set(this.formData, type, val)
},
submitForm() {
this.$refs["elForm"].validate((valid, errors) => {
if (!valid) {
return this.$showFormValidateErrors(errors)
}
let data = JSON.parse(JSON.stringify(this.formData))
// 修改的提交
if (data.id != null) {
updateLadingShipper(data).then(response => {
this.$modal.msgSuccess(this.$t("修改成功"));
this.open = false;
this.$router.back()
});
return;
}
// 添加的提交
createLadingShipper(data).then(response => {
this.$modal.msgSuccess(this.$t("新增成功"));
this.$redirect('/supplier/ladingshipper')
});
});
},
resetForm() {
this.$refs['elForm'].resetFields()
}
}
}
</script>
<style lang="scss" scoped>
.el-upload__tip {
line-height: 1.2;
}
.card-header{
display: flex;
align-items: center;
justify-content: space-between;
.title{
font-size: 18px;
}
}
::v-deep .data-list .el-form-item__error{
position: static;
}
.red{
color: red;
}
.supplier-item{
margin-left: 30px;
}
</style>
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form v-if="false" :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item :label="$t('创建时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('供应商类别')" prop="companyType">
<dict-selector :type="DICT_TYPE.ECW_COMPANY_TYPE" v-model="queryParams.companyType" clearable />
</el-form-item>
<el-form-item :label="$t('合作类型')" prop="cooperationType">
<dict-selector :type="DICT_TYPE.ECW_COOPERATION_TYPE" v-model="queryParams.cooperationType" clearable/>
</el-form-item>
<el-form-item :label="$t('名称/代码')" prop="keyword">
<el-input v-model="queryParams.keyword" :placeholder="$t('名称/代码')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:ladingShipper:create']">{{$t('新增')}}</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:ladingShipper:export']">{{$t('导出')}}</el-button>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="" align="center" prop="id" />
<el-table-column :label="$t('公司名称')" align="center" :prop="$l('company')" />
<el-table-column :label="$t('英文名称')" align="center" prop="companyEn" />
<el-table-column :label="$t('公司电话')" align="center" prop="tell" />
<el-table-column :label="$t('统一信用代码')" align="center" prop="licenseNumber" />
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column fixed="right" :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
v-hasPermi="['ecw:ladingShipper:query']">{{$t('详情')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:ladingShipper:update']">{{$t('修改')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:ladingShipper:delete']">{{$t('删除')}}</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
</div>
</template>
<script>
import { deleteLadingShipper, getLadingShipperPage, exportLadingShipperExcel } from "@/api/ecw/ladingShipper";
// import DictSelector from '@/components/DictSelector'
export default {
name: "ladingShipper",
components: {
// DictSelector
},
data() {
return {
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 供应商列表
list: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
dateRangeCreateTime: [],
// 查询参数
queryParams: {
pageNo: 1,
pageSize: 10,
companyZh: null,
companyEn: null,
companyCode: null,
agentName: null,
tell: null,
country: null,
province: null,
city: null,
area: null,
address: null,
remark: null,
companyType: null,
cooperationType: null,
license: null,
contract: null,
licenseNumber: null,
status: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询
getLadingShipperPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
companyZh: undefined,
companyEn: undefined,
companyCode: undefined,
agentName: undefined,
tell: undefined,
country: undefined,
province: undefined,
city: undefined,
area: undefined,
address: undefined,
remark: undefined,
companyType: undefined,
cooperationType: undefined,
license: undefined,
contract: undefined,
licenseNumber: undefined,
status: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
return this.$router.push('ladingShipper/create')
},
/** 详情按钮操作 */
handleDetail(row) {
return this.$router.push('ladingShipper/detail?id=' + row.id)
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
return this.$router.push('ladingShipper/create?id=' + id)
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm(this.$t('是否确认删除供应商编号为{id}的数据项?', {id})).then(function() {
return deleteLadingShipper(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess(this.$t("删除成功"));
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
this.$modal.confirm(this.$t('是否确认导出所有供应商数据项?')).then(() => {
this.exportLoading = true;
return exportLadingShipperExcel(params);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>
This diff is collapsed.
This diff is collapsed.
......@@ -66,6 +66,8 @@
</el-table-column>
<el-table-column fixed="right" :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
v-hasPermi="['ecw:supplier:query']">{{$t('详情')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:supplier:update']">{{$t('修改')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
......@@ -198,6 +200,11 @@ export default {
handleAdd() {
return this.$router.push('/supplier/edit')
},
/** 详情按钮操作 */
handleDetail(row) {
return this.$router.push('detail?id=' + row.id)
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment