Commit 0f6d2800 authored by wanglianghe's avatar wanglianghe

网点

parent 921b373d
...@@ -59,6 +59,7 @@ export const DICT_TYPE = { ...@@ -59,6 +59,7 @@ export const DICT_TYPE = {
ECW_BANK_TYPE: 'bank_type', // 银行账号类型 ECW_BANK_TYPE: 'bank_type', // 银行账号类型
ECW_DATA_SOURCE: 'data_source', // 数据来源 ECW_DATA_SOURCE: 'data_source', // 数据来源
ECW_REGION_TYPE: 'region_trade_type', // 区域类型 ECW_REGION_TYPE: 'region_trade_type', // 区域类型
ECW_TRANSPORT_TYPE: 'transport_type', //货运方式
} }
/** /**
......
...@@ -251,6 +251,7 @@ export default { ...@@ -251,6 +251,7 @@ export default {
}, },
getCountryList() { getCountryList() {
this.queryParams.treeType = 1;
getListTree(this.queryParams).then(response => { getListTree(this.queryParams).then(response => {
this.countryList = response.data; this.countryList = response.data;
}); });
......
...@@ -3,30 +3,13 @@ ...@@ -3,30 +3,13 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="站点编号" prop="number"> <el-form-item label="城市名称" prop="cityName">
<el-input v-model="queryParams.number" placeholder="请输入站点编号" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.number" placeholder="请输入城市名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="中文关键词" prop="keywordsZh"> <el-form-item label="关键词" prop="keywords">
<el-input v-model="queryParams.keywordsZh" placeholder="请输入中文关键词" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.keywordsZh" placeholder="请输入关键词" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="英文关键词" prop="keywordsEn">
<el-input v-model="queryParams.keywordsEn" placeholder="请输入英文关键词" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="网点属性" prop="shuxings">
<el-input v-model="queryParams.shuxings" placeholder="请输入网点属性,0进出口;1只进口;2只出口" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="aorder">
<el-input v-model="queryParams.aorder" placeholder="请输入排序" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="是否展示" prop="isShow">
<el-input v-model="queryParams.isShow" placeholder="请输入是否展示" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
...@@ -49,35 +32,14 @@ ...@@ -49,35 +32,14 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column label="" align="center" prop="id" /> <el-table-column label="" align="center" prop="id" />
<el-table-column label="站点编号" align="center" prop="number" />
<el-table-column label="洲" align="center" prop="zhou" />
<el-table-column label="国家" align="center" prop="guojia" />
<el-table-column label="省" align="center" prop="sheng" />
<el-table-column label="市" align="center" prop="shi" />
<el-table-column label="中文标题" align="center" prop="titleZh" />
<el-table-column label="英文标题" align="center" prop="titleEn" />
<el-table-column label="图片地址" align="center" prop="img" />
<el-table-column label="中文副标题" align="center" prop="titlesZh" />
<el-table-column label="英文副标题" align="center" prop="titlesEn" />
<el-table-column label="中文关键词" align="center" prop="keywordsZh" />
<el-table-column label="英文关键词" align="center" prop="keywordsEn" />
<el-table-column label="中文描述信息" align="center" prop="descriptionZh" />
<el-table-column label="英文描述信息" align="center" prop="descriptionEn" />
<el-table-column label="中文网点详情" align="center" prop="contentZh" />
<el-table-column label="英文网点详情" align="center" prop="contentEn" />
<el-table-column label="中文网点地址" align="center" prop="addressZh" />
<el-table-column label="英文网点地址" align="center" prop="addressEn" />
<el-table-column label="网点属性,0进出口;1只进口;2只出口" align="center" prop="shuxings" />
<el-table-column label="运输方式id,多个用逗号隔开" align="center" prop="freight" />
<el-table-column label="上班时间" align="center" prop="worktime" />
<el-table-column label="负责人的用户id" align="center" prop="adminId" />
<el-table-column label="排序" align="center" prop="aorder" /> <el-table-column label="排序" align="center" prop="aorder" />
<el-table-column label="是否展示" align="center" prop="isShow" /> <el-table-column label="网点编号" align="center" prop="number" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180"> <el-table-column label="网点名称" align="center" prop="titleZh" />
<template slot-scope="scope"> <el-table-column label="网点地址" align="center" prop="addressZh" />
<span>{{ parseTime(scope.row.createTime) }}</span> <el-table-column label="负责人的用户id" align="center" prop="adminId" />
</template> <el-table-column label="显示" align="center" prop="status" />
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
...@@ -92,80 +54,96 @@ ...@@ -92,80 +54,96 @@
@pagination="getList"/> @pagination="getList"/>
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="站点编号" prop="number">
<el-input v-model="form.number" placeholder="请输入站点编号" /> <el-form-item label="所在地区" prop="area">
</el-form-item> <el-select v-model="form.zhou" placeholder="请选择大洲" @change="changeContinents">
<el-form-item label="洲" prop="zhou"> <el-option
<el-input v-model="form.zhou" placeholder="请输入洲" /> v-for="item in continentsList"
</el-form-item> :key="item.id"
<el-form-item label="国家" prop="guojia"> :label="item.titleZh"
<el-input v-model="form.guojia" placeholder="请输入国家" /> :value="item.id">
</el-form-item> </el-option>
<el-form-item label="省" prop="sheng"> </el-select>
<el-input v-model="form.sheng" placeholder="请输入省" /> <el-select v-model="form.guojia" placeholder="请选择国家" @change="changeCountry" v-if="form.zhou">
</el-form-item> <el-option
<el-form-item label="市" prop="shi"> v-for="item in countryList"
<el-input v-model="form.shi" placeholder="请输入市" /> :key="item.id"
</el-form-item> :label="item.titleZh"
<el-form-item label="中文标题" prop="titleZh"> :value="item.id">
<el-input v-model="form.titleZh" placeholder="请输入中文标题" /> </el-option>
</el-form-item> </el-select>
<el-form-item label="英文标题" prop="titleEn"> <el-select v-model="form.sheng" placeholder="请选择省" @change="changeProvince" v-if="form.guojia">
<el-input v-model="form.titleEn" placeholder="请输入英文标题" /> <el-option
</el-form-item> v-for="item in provinceList"
<el-form-item label="图片地址" prop="img"> :key="item.id"
<el-input v-model="form.img" placeholder="请输入图片地址" /> :label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<el-select v-model="form.shi" placeholder="请选择城市" @change="changeCity" v-if="form.sheng">
<el-option
v-for="item in cityList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="中文副标题" prop="titlesZh">
<el-input v-model="form.titlesZh" placeholder="请输入中文副标题" /> <el-form-item label="排序" prop="aorder">
<el-input v-model="form.aorder" placeholder="请输入排序" />
</el-form-item> </el-form-item>
<el-form-item label="英文副标题" prop="titlesEn">
<el-input v-model="form.titlesEn" placeholder="请输入英文副标题" /> <el-form-item label="网点编号" prop="number">
<el-input v-model="form.number" placeholder="请输入网点编号" />
</el-form-item> </el-form-item>
<el-form-item label="中文关键词" prop="keywordsZh">
<el-input v-model="form.keywordsZh" placeholder="请输入中文关键词" /> <el-form-item label="网点名称" prop="titleZh">
<el-input v-model="form.titleZh" placeholder="请输入网点名称" />
</el-form-item> </el-form-item>
<el-form-item label="英文关键词" prop="keywordsEn"> <el-form-item label="英文名称" prop="titleEn">
<el-input v-model="form.keywordsEn" placeholder="请输入英文关键词" /> <el-input v-model="form.titleEn" placeholder="请输入英文名称" />
</el-form-item> </el-form-item>
<el-form-item label="中文描述信息" prop="descriptionZh"> <el-form-item label="副名称" prop="titlesZh">
<el-input v-model="form.descriptionZh" placeholder="请输入中文描述信息" /> <el-input v-model="form.titlesZh" placeholder="请输入副名称" />
</el-form-item> </el-form-item>
<el-form-item label="英文描述信息" prop="descriptionEn"> <el-form-item label="英文副名称" prop="titlesEn">
<el-input v-model="form.descriptionEn" placeholder="请输入英文描述信息" /> <el-input v-model="form.titlesEn" placeholder="请输入英文副名称" />
</el-form-item> </el-form-item>
<el-form-item label="中文网点详情" prop="contentZh"> <el-form-item label="网点地址" prop="addressZh">
<el-input v-model="form.contentZh" placeholder="请输入中文网点详情" /> <el-input v-model="form.addressZh" placeholder="请输入网点地址" />
</el-form-item> </el-form-item>
<el-form-item label="英文网点详情" prop="contentEn"> <el-form-item label="英文地址" prop="addressEn">
<el-input v-model="form.contentEn" placeholder="请输入英文网点详情" /> <el-input v-model="form.addressEn" placeholder="请输入英文地址" />
</el-form-item> </el-form-item>
<el-form-item label="中文网点地址" prop="addressZh">
<el-input v-model="form.addressZh" placeholder="请输入中文网点地址" /> <el-form-item label="网点属性" prop="tradeType">
<el-select v-model="form.tradeType" placeholder="请选择">
<el-option v-for="dict in regionTypeDatas" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="英文网点地址" prop="addressEn">
<el-input v-model="form.addressEn" placeholder="请输入英文网点地址" /> <el-form-item label="服务内容" prop="freight">
<el-checkbox-group v-model="checkList">
<el-checkbox v-for="dict in transportDatas" :label="dict.label" :key="dict.value" name="freight">{{dict.label}}</el-checkbox>
</el-checkbox-group>
</el-form-item> </el-form-item>
<el-form-item label="网点属性" prop="shuxings">
<el-input v-model="form.shuxings" placeholder="请输入网点属性,0进出口;1只进口;2只出口" /> <el-form-item label="网点详情" prop="contentZh">
<el-input v-model="form.contentZh" placeholder="请输入网点详情" />
</el-form-item> </el-form-item>
<el-form-item label="运输方式id,多个用逗号隔开" prop="freight"> <el-form-item label="英文详情" prop="contentEn">
<el-input v-model="form.freight" placeholder="请输入运输方式id,多个用逗号隔开" /> <el-input v-model="form.contentEn" placeholder="请输入英文详情" />
</el-form-item> </el-form-item>
<el-form-item label="上班时间" prop="worktime"> <el-form-item label="上班时间" prop="worktime">
<el-input v-model="form.worktime" placeholder="请输入上班时间" /> <el-input v-model="form.worktime" placeholder="请输入上班时间" />
</el-form-item> </el-form-item>
<el-form-item label="负责人的用户id" prop="adminId">
<el-input v-model="form.adminId" placeholder="请输入负责人的用户id" />
</el-form-item>
<el-form-item label="排序" prop="aorder">
<el-input v-model="form.aorder" placeholder="请输入排序" />
</el-form-item>
<el-form-item label="是否展示" prop="isShow">
<el-input v-model="form.isShow" placeholder="请输入是否展示" />
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
...@@ -177,12 +155,27 @@ ...@@ -177,12 +155,27 @@
<script> <script>
import { createNode, updateNode, deleteNode, getNode, getNodePage, exportNodeExcel } from "@/api/ecw/node"; import { createNode, updateNode, deleteNode, getNode, getNodePage, exportNodeExcel } from "@/api/ecw/node";
import { getListTree } from "@/api/ecw/region";
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import {CommonStatusEnum} from '@/utils/constants'
export default { export default {
name: "Node", name: "Node",
components: { components: {
}, },
data() { data() {
var areaCheck = (rule, value, callback) => {
if(!this.form.zhou) {
callback(new Error('请选择大洲'));
} else if(!this.form.guojia){
callback(new Error('请选择国家/地区'));
} else if(!this.form.sheng){
callback(new Error('请选择省市'));
} else {
callback();
}
};
return { return {
// 遮罩层 // 遮罩层
loading: true, loading: true,
...@@ -192,6 +185,18 @@ export default { ...@@ -192,6 +185,18 @@ export default {
showSearch: true, showSearch: true,
// 总条数 // 总条数
total: 0, total: 0,
//洲际列表
continentsList:[],
//国家列表
countryList:[],
//省信息列表
provinceList: [],
//市信息列表
cityList: [],
//已选中服务方式
checkList:[],
// 服务网点列表 // 服务网点列表
list: [], list: [],
// 弹出层标题 // 弹出层标题
...@@ -202,41 +207,69 @@ export default { ...@@ -202,41 +207,69 @@ export default {
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10
number: null,
zhou: null,
guojia: null,
sheng: null,
shi: null,
titleZh: null,
titleEn: null,
img: null,
titlesZh: null,
titlesEn: null,
keywordsZh: null,
keywordsEn: null,
descriptionZh: null,
descriptionEn: null,
contentZh: null,
contentEn: null,
addressZh: null,
addressEn: null,
shuxings: null,
freight: null,
adminId: null,
aorder: null,
isShow: null,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
} area: [{ validator:areaCheck, required: true, trigger: "blur" }],
aorder: [{ required: true, message: "排序不能为空", trigger: "blur" }],
number: [{ required: true, message: "网点编号不能为空", trigger: "blur" }],
titleZh: [{ required: true, message: "网点名称不能为空", trigger: "blur" }],
titleEn: [{ required: true, message: "英文名称不能为空", trigger: "blur" }],
titlesZh: [{ required: true, message: "副名称不能为空", trigger: "blur" }],
titlesEn: [{ required: true, message: "英文副名称不能为空", trigger: "blur" }],
addressZh: [{ required: true, message: "网点地址不能为空", trigger: "blur" }],
addressEn: [{ required: true, message: "英文地址不能为空", trigger: "blur" }],
contentZh: [{ required: true, message: "网点详情不能为空", trigger: "blur" }],
contentEn: [{ required: true, message: "英文详情不能为空", trigger: "blur" }],
worktime: [{ required: true, message: "上班时间不能为空", trigger: "blur" }],
tradeType: [
{ required: true, message: '请选择网点属性', trigger: 'change' }
],
freight: [
{ type: 'array', required: true, message: '请至少选择一个服务内容', trigger: 'change' }
],
},
// 枚举
CommonStatusEnum: CommonStatusEnum,
// 数据字典
statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS),
regionTypeDatas: getDictDatas(DICT_TYPE.ECW_REGION_TYPE),
transportDatas: getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE)
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getContinentsList();
},
watch: {
'form.zhou'(newV, oldV) {
if(oldV && oldV != newV) {
this.form.guojia = null;
this.form.sheng = null;
this.form.shi = null;
}
},
'form.guojia'(newV, oldV) {
if(oldV && oldV != newV) {
this.form.sheng = null;
this.form.shi = null;
}
}, },
'form.sheng'(newV, oldV) {
if(oldV && oldV != newV) {
this.form.shi = null;
}
}
},
methods: { methods: {
/** 查询列表 */ /** 查询列表 */
getList() { getList() {
...@@ -251,6 +284,52 @@ export default { ...@@ -251,6 +284,52 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
getContinentsList() {
this.queryParams.treeType = 0;
getListTree(this.queryParams).then(response => {
this.continentsList = response.data;
});
},
changeContinents(zhou) {
for(let index in this.continentsList) {
let continent = this.continentsList[index];
if(continent.id == zhou) {
this.countryList = continent.children;
return;
}
}
},
changeCountry(countryId) {
for(let index in this.countryList) {
let country = this.countryList[index];
if(country.id == countryId) {
this.provinceList = country.children;
return;
}
}
},
changeProvince(provinceId) {
for(let index in this.provinceList) {
let province = this.provinceList[index];
if(province.id == provinceId) {
this.cityList = province.children;
return;
}
}
},
changeCity(cityId) {
for(let index in this.cityList) {
let city = this.cityList[index];
if(city.id == cityId) {
return;
}
}
},
/** 取消按钮 */ /** 取消按钮 */
cancel() { cancel() {
this.open = false; this.open = false;
...@@ -267,23 +346,18 @@ export default { ...@@ -267,23 +346,18 @@ export default {
shi: undefined, shi: undefined,
titleZh: undefined, titleZh: undefined,
titleEn: undefined, titleEn: undefined,
img: undefined,
titlesZh: undefined, titlesZh: undefined,
titlesEn: undefined, titlesEn: undefined,
keywordsZh: undefined,
keywordsEn: undefined,
descriptionZh: undefined,
descriptionEn: undefined,
contentZh: undefined, contentZh: undefined,
contentEn: undefined, contentEn: undefined,
addressZh: undefined, addressZh: undefined,
addressEn: undefined, addressEn: undefined,
shuxings: undefined, tradeType: undefined,
freight: undefined, freight: undefined,
worktime: undefined, worktime: undefined,
adminId: undefined, adminId: undefined,
aorder: undefined, aorder: undefined,
isShow: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -320,6 +394,15 @@ export default { ...@@ -320,6 +394,15 @@ export default {
if (!valid) { if (!valid) {
return; return;
} }
//逗号拼接运输方式
var freight = ''
for(let i = 0; i < this.checkList.length; i++) {
freight += this.checkList[i] + ','
}
freight = freight.substring(0, freight.length - 1);
this.form.freight = freight;
// 修改的提交 // 修改的提交
if (this.form.id != null) { if (this.form.id != null) {
updateNode(this.form).then(response => { updateNode(this.form).then(response => {
......
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