Commit 0f6d2800 authored by wanglianghe's avatar wanglianghe

网点

parent 921b373d
......@@ -59,6 +59,7 @@ export const DICT_TYPE = {
ECW_BANK_TYPE: 'bank_type', // 银行账号类型
ECW_DATA_SOURCE: 'data_source', // 数据来源
ECW_REGION_TYPE: 'region_trade_type', // 区域类型
ECW_TRANSPORT_TYPE: 'transport_type', //货运方式
}
/**
......
......@@ -251,6 +251,7 @@ export default {
},
getCountryList() {
this.queryParams.treeType = 1;
getListTree(this.queryParams).then(response => {
this.countryList = response.data;
});
......
......@@ -3,30 +3,13 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="站点编号" prop="number">
<el-input v-model="queryParams.number" placeholder="请输入站点编号" clearable @keyup.enter.native="handleQuery"/>
<el-form-item label="城市名称" prop="cityName">
<el-input v-model="queryParams.number" placeholder="请输入城市名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="中文关键词" prop="keywordsZh">
<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 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 label="关键词" prop="keywords">
<el-input v-model="queryParams.keywordsZh" placeholder="请输入关键词" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
......@@ -49,35 +32,14 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<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="isShow" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="网点编号" align="center" prop="number" />
<el-table-column label="网点名称" align="center" prop="titleZh" />
<el-table-column label="网点地址" align="center" prop="addressZh" />
<el-table-column label="负责人的用户id" align="center" prop="adminId" />
<el-table-column label="显示" align="center" prop="status" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
......@@ -92,80 +54,96 @@
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="站点编号" prop="number">
<el-input v-model="form.number" placeholder="请输入站点编号" />
</el-form-item>
<el-form-item label="洲" prop="zhou">
<el-input v-model="form.zhou" placeholder="请输入洲" />
</el-form-item>
<el-form-item label="国家" prop="guojia">
<el-input v-model="form.guojia" placeholder="请输入国家" />
</el-form-item>
<el-form-item label="省" prop="sheng">
<el-input v-model="form.sheng" placeholder="请输入省" />
</el-form-item>
<el-form-item label="市" prop="shi">
<el-input v-model="form.shi" placeholder="请输入市" />
</el-form-item>
<el-form-item label="中文标题" prop="titleZh">
<el-input v-model="form.titleZh" placeholder="请输入中文标题" />
</el-form-item>
<el-form-item label="英文标题" prop="titleEn">
<el-input v-model="form.titleEn" placeholder="请输入英文标题" />
</el-form-item>
<el-form-item label="图片地址" prop="img">
<el-input v-model="form.img" placeholder="请输入图片地址" />
</el-form-item>
<el-form-item label="中文副标题" prop="titlesZh">
<el-input v-model="form.titlesZh" placeholder="请输入中文副标题" />
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="所在地区" prop="area">
<el-select v-model="form.zhou" placeholder="请选择大洲" @change="changeContinents">
<el-option
v-for="item in continentsList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<el-select v-model="form.guojia" placeholder="请选择国家" @change="changeCountry" v-if="form.zhou">
<el-option
v-for="item in countryList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<el-select v-model="form.sheng" placeholder="请选择省" @change="changeProvince" v-if="form.guojia">
<el-option
v-for="item in provinceList"
:key="item.id"
: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 label="英文副标题" prop="titlesEn">
<el-input v-model="form.titlesEn" placeholder="请输入英文副标题" />
<el-form-item label="排序" prop="aorder">
<el-input v-model="form.aorder" placeholder="请输入排序" />
</el-form-item>
<el-form-item label="中文关键词" prop="keywordsZh">
<el-input v-model="form.keywordsZh" placeholder="请输入中文关键词" />
<el-form-item label="网点编号" prop="number">
<el-input v-model="form.number" placeholder="请输入网点编号" />
</el-form-item>
<el-form-item label="英文关键词" prop="keywordsEn">
<el-input v-model="form.keywordsEn" placeholder="请输入英文关键词" />
<el-form-item label="网点名称" prop="titleZh">
<el-input v-model="form.titleZh" placeholder="请输入网点名称" />
</el-form-item>
<el-form-item label="中文描述信息" prop="descriptionZh">
<el-input v-model="form.descriptionZh" placeholder="请输入中文描述信息" />
<el-form-item label="英文名称" prop="titleEn">
<el-input v-model="form.titleEn" placeholder="请输入英文名称" />
</el-form-item>
<el-form-item label="英文描述信息" prop="descriptionEn">
<el-input v-model="form.descriptionEn" placeholder="请输入英文描述信息" />
<el-form-item label="副名称" prop="titlesZh">
<el-input v-model="form.titlesZh" placeholder="请输入副名称" />
</el-form-item>
<el-form-item label="中文网点详情" prop="contentZh">
<el-input v-model="form.contentZh" placeholder="请输入中文网点详情" />
<el-form-item label="英文副名称" prop="titlesEn">
<el-input v-model="form.titlesEn" placeholder="请输入英文副名称" />
</el-form-item>
<el-form-item label="英文网点详情" prop="contentEn">
<el-input v-model="form.contentEn" placeholder="请输入英文网点详情" />
<el-form-item label="网点地址" prop="addressZh">
<el-input v-model="form.addressZh" placeholder="请输入网点地址" />
</el-form-item>
<el-form-item label="中文网点地址" prop="addressZh">
<el-input v-model="form.addressZh" placeholder="请输入中文网点地址" />
<el-form-item label="英文地址" prop="addressEn">
<el-input v-model="form.addressEn" placeholder="请输入英文地址" />
</el-form-item>
<el-form-item label="英文网点地址" prop="addressEn">
<el-input v-model="form.addressEn" 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 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 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 label="运输方式id,多个用逗号隔开" prop="freight">
<el-input v-model="form.freight" placeholder="请输入运输方式id,多个用逗号隔开" />
<el-form-item label="英文详情" prop="contentEn">
<el-input v-model="form.contentEn" placeholder="请输入英文详情" />
</el-form-item>
<el-form-item label="上班时间" prop="worktime">
<el-input v-model="form.worktime" placeholder="请输入上班时间" />
</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>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
......@@ -177,12 +155,27 @@
<script>
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 {
name: "Node",
components: {
},
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 {
// 遮罩层
loading: true,
......@@ -192,6 +185,18 @@ export default {
showSearch: true,
// 总条数
total: 0,
//洲际列表
continentsList:[],
//国家列表
countryList:[],
//省信息列表
provinceList: [],
//市信息列表
cityList: [],
//已选中服务方式
checkList:[],
// 服务网点列表
list: [],
// 弹出层标题
......@@ -202,41 +207,69 @@ export default {
// 查询参数
queryParams: {
pageNo: 1,
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,
pageSize: 10
},
// 表单参数
form: {},
// 表单校验
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() {
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: {
/** 查询列表 */
getList() {
......@@ -251,6 +284,52 @@ export default {
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() {
this.open = false;
......@@ -267,23 +346,18 @@ export default {
shi: undefined,
titleZh: undefined,
titleEn: undefined,
img: undefined,
titlesZh: undefined,
titlesEn: undefined,
keywordsZh: undefined,
keywordsEn: undefined,
descriptionZh: undefined,
descriptionEn: undefined,
contentZh: undefined,
contentEn: undefined,
addressZh: undefined,
addressEn: undefined,
shuxings: undefined,
tradeType: undefined,
freight: undefined,
worktime: undefined,
adminId: undefined,
aorder: undefined,
isShow: undefined,
};
this.resetForm("form");
},
......@@ -320,6 +394,15 @@ export default {
if (!valid) {
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) {
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