Commit b3398f4a authored by lixy's avatar lixy

分公司信息

parent 946b66bd
...@@ -452,6 +452,15 @@ ...@@ -452,6 +452,15 @@
set[formName].validate(valid => { set[formName].validate(valid => {
if (valid) { if (valid) {
if(this.state != 1){//上架-验证额外信息 if(this.state != 1){//上架-验证额外信息
if(!this.form.addrDetail){
this.$notify({
title: '警告',
message: "请输入详细地址",
type: 'warning',
duration: 2000
});
return;
}
if(!this.form.longitude){ if(!this.form.longitude){
this.$notify({ this.$notify({
title: '警告', title: '警告',
...@@ -480,7 +489,7 @@ ...@@ -480,7 +489,7 @@
duration: 2000 duration: 2000
}); });
return; return;
}debugger }
if(!this.form.images){ if(!this.form.images){
this.tabName = "second"; this.tabName = "second";
this.$notify({ this.$notify({
......
...@@ -26,88 +26,101 @@ ...@@ -26,88 +26,101 @@
<el-option v-for="item in cityRegions4Query" :key="item.id" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in cityRegions4Query" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="简称">
<el-input v-model="listQuery.name" placeholder="请输入公司简称"></el-input>
</el-form-item>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button> <el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" v-if="branchCompany_btn_add" style="margin-left: 10px;" @click="handleCreate" <el-button class="filter-item" v-if="branchCompany_btn_add" style="margin-left: 10px;" @click="handleCreate"
type="primary" icon="edit">添加 type="primary" icon="edit">添加
</el-button> </el-button>
<form methods="post" enctype="multipart/form-data" style="display:inline-block;margin-left:10px;;"> <!--<form methods="post" enctype="multipart/form-data" style="display:inline-block;margin-left:10px;;">-->
<el-button class="filter-item" type="primary" v-waves @click="choiceImg">导入</el-button> <!--<el-button class="filter-item" type="primary" v-waves @click="choiceImg">导入</el-button>-->
<input ref="filElem" type="file" name="file" class="upload-file" @change="getFile($event)" style="display:none;"> <!--<input ref="filElem" type="file" name="file" class="upload-file" @change="getFile($event)" style="display:none;">-->
</form> <!--</form>-->
</el-form> </el-form>
</div> </div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row <el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row
style="width: 100%"> style="width: 100%">
<el-table-column align="center" label="编号" width="65"> <el-table-column
<template scope="scope"> type="index"
<span>{{scope.row.id}}</span> align="center" label="序号" width="65">
</template>
</el-table-column> </el-table-column>
<el-table-column width="200" align="center" label="名称"> <el-table-column align="center" label="公司全称">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.name}}</span> <span>{{scope.row.name}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="公司简称">
<el-table-column width="80" align="center" label="状态">
<template scope="scope"> <template scope="scope">
<span>{{getStatusName(scope.row.status)}}</span> <span>{{scope.row.companyName}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="80" align="center" label="负责人"> <el-table-column width="80" align="center" label="状态">
<template scope="scope">
<span>{{scope.row.leader}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="负责人联系方式">
<template scope="scope">
<span>{{scope.row.leaderContactInfo}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="租车客服电话">
<template scope="scope">
<span>{{scope.row.vehiceServicePhone}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="旅游客服电话">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.tourServicePhone}}</span> <span>{{getStatusName(scope.row.status)}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="300" align="center" label="地址"> <el-table-column width="180" align="center" label="股价">
<template scope="scope"> <template scope="scope">
<span>{{getAddrStr(scope.row) + scope.row.addrDetail}}</span> <span>{{scope.row.price?scope.row.price/10000:0}}{{scope.row.type == 1?'万/股':'港万/股'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="150" align="center" label="经度"> <el-table-column width="180" align="center" label="负责人">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.longitude}}</span> <span>{{scope.row.leader}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="150" align="center" label="纬度"> <el-table-column width="150" align="center" label="负责人联系方式">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.latitude}}</span> <span>{{scope.row.leaderContactInfo}}</span>
</template> </template>
</el-table-column> </el-table-column>
<!--<el-table-column width="150" align="center" label="租车客服电话">-->
<el-table-column width="180" align="center" label="最后更新时间"> <!--<template scope="scope">-->
<!--<span>{{scope.row.vehiceServicePhone}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<!--<el-table-column width="150" align="center" label="旅游客服电话">-->
<!--<template scope="scope">-->
<!--<span>{{scope.row.tourServicePhone}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<!--<el-table-column width="300" align="center" label="地址">-->
<!--<template scope="scope">-->
<!--<span>{{getAddrStr(scope.row) + scope.row.addrDetail}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<!--<el-table-column width="150" align="center" label="经度">-->
<!--<template scope="scope">-->
<!--<span>{{scope.row.longitude}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<!--<el-table-column width="150" align="center" label="纬度">-->
<!--<template scope="scope">-->
<!--<span>{{scope.row.latitude}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<!--<el-table-column width="180" align="center" label="最后更新时间">-->
<!--<template scope="scope">-->
<!--<span>{{scope.row.updateTime?scope.row.updateTime:scope.row.createTime}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
<el-table-column align="center" label="操作" width="300" fixed="right">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.updateTime?scope.row.updateTime:scope.row.createTime}}</span> <el-button size="small" class="el-button el-button--text el-button--small" @click="handleView(scope.row)">详情</el-button>
</template> <el-button size="small" class="el-button el-button--text el-button--small" @click="handleSetting(scope.row)">基础信息</el-button>
</el-table-column> <el-button v-if="branchCompany_btn_edit" size="small" class="el-button el-button--text el-button--small" @click="handleCompanyInfo(scope.row)">公司介绍</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" @click="handleSettingStock(scope.row)">设置股权</el-button>
<el-table-column align="center" label="操作" width="150" fixed="right"> <el-button v-if="branchCompany_btn_del" size="small" class="el-button el-button--text el-button--small" style="color: red;" @click="handleDelete(scope.row)">删除</el-button>
<template scope="scope">
<el-button v-if="branchCompany_btn_edit" size="small" class="el-button el-button--text el-button--small" @click="handleUpdate(scope.row)">编辑
</el-button>
<el-button v-if="branchCompany_btn_del" size="small" class="el-button el-button--text el-button--small" style="color: red;" @click="handleDelete(scope.row)">删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -118,85 +131,19 @@ ...@@ -118,85 +131,19 @@
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination> layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div> </div>
<!--公司介绍设置弹框-->
<!-- 对话框相关html元素 --> <companyInfoModal v-if="companyInfoVisible" :row="row" :dialogStatus = "dialogStatus" :title="textMap[dialogStatus]" v-on:companyInfoDialogEvent = "companyInfoDialogEvent"></companyInfoModal>
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible"> <!--股权设置-->
<el-form :model="form" :rules="rules" ref="form" label-width="100px"> <stockRightModal v-if="stockRightVisible" :row="row" v-on:stockRightDialogEvent = "stockRightDialogEvent"></stockRightModal>
<el-form-item label="名称" prop="name"> <!--查看详情-->
<el-input v-model="form.name" placeholder="输入名称"></el-input> <info v-if="infoVisible" :row="row" v-on:infoDialogEvent = "infoDialogEvent"></info>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model.number="form.status" placeholder="请选择状态">
<el-option v-for="(val, key, index) in companyStatusAndCode " :key="val.code" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属地区" prop="zoneId">
<el-select class="filter-item" v-model="form.zoneId" placeholder="请选择" @change="getProvinceRegionsForm">
<el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="省份" prop="addrProvince">
<el-select v-model.number="form.addrProvince" placeholder="请选择省份(直辖市)" @change="changeProvince">
<el-option v-for="item in provinceRegions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="城市" prop="addrCity">
<el-select v-model.number="form.addrCity" placeholder="请选择城市" @change="changeCity">
<el-option v-for="item in cityRegions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="镇(县)" prop="addrTown">
<el-select v-model.number="form.addrTown" placeholder="请选择镇(县)">
<el-option v-for="item in townRegions" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="负责人" prop="leader">
<el-input v-model="form.leader" placeholder="请输入负责人"></el-input>
</el-form-item>
<el-form-item label="负责人联系方式" prop="leaderContactInfo">
<el-input v-model="form.leaderContactInfo" placeholder="请输入负责人联系方式"></el-input>
</el-form-item>
<el-form-item label="租车客服电话" prop="vehiceServicePhone">
<el-input v-model="form.vehiceServicePhone" placeholder="请输入租车客服电话"></el-input>
</el-form-item>
<el-form-item label="旅游客服电话" prop="tourServicePhone">
<el-input v-model="form.tourServicePhone" placeholder="请输入旅游客服电话"></el-input>
</el-form-item>
<el-form-item label="地址" prop="addrDetail">
<el-input v-model="form.addrDetail" placeholder="请输入详细地址"></el-input>
</el-form-item>
<el-form-item label="经度" prop="longitude">
<el-input v-model.number="form.longitude" placeholder="请输入经度"></el-input>
</el-form-item>
<el-form-item label="纬度" prop="latitude">
<el-input v-model.number="form.latitude" placeholder="请输入纬度"></el-input>
</el-form-item>
<!-- <el-form-item >-->
<!-- <el-input value="1" v-model="form.type" disabled="true" type="hidden"></el-input>-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel('form')">取 消</el-button>
<el-button v-if="dialogStatus=='create'" type="primary" @click="create('form')">确 定</el-button>
<el-button v-else type="primary" @click="update('form')">确 定</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<style>
.el-dialog__footer{
border-top: 1px solid #bfcbd9;
}
</style>
<script> <script>
import axios from 'axios'; import axios from 'axios';
...@@ -204,7 +151,7 @@ ...@@ -204,7 +151,7 @@
page, page,
addObj, addObj,
getObj, getObj,
delObj, deleteOne,
putObj putObj
} from 'api/base_info/branch_company'; } from 'api/base_info/branch_company';
...@@ -223,9 +170,16 @@ ...@@ -223,9 +170,16 @@
getAllZone getAllZone
} from 'api/base_info/constant/'; } from 'api/base_info/constant/';
import companyInfoModal from "./companyInfoModal"
import stockRightModal from "./stockRightModal"
import info from "./info"
export default { export default {
name: 'branchCompany', name: 'branchCompany',
components: {
companyInfoModal,
stockRightModal,
info
},
data() { data() {
return { return {
form: { form: {
...@@ -246,6 +200,9 @@ ...@@ -246,6 +200,9 @@
vehiceServicePhone: undefined, vehiceServicePhone: undefined,
tourServicePhone: undefined tourServicePhone: undefined
}, },
companyInfoVisible: false,//公司介绍-弹框
stockRightVisible: false,//设置股权
infoVisible: false,//详情弹框
allZoneArr:[],//全部片区 allZoneArr:[],//全部片区
provinceRegions: [],//片区下省份数据 provinceRegions: [],//片区下省份数据
rules: { rules: {
...@@ -307,6 +264,29 @@ ...@@ -307,6 +264,29 @@
trigger: 'blur' trigger: 'blur'
} }
], ],
leaderContactInfo: [
{
required: true,
message: '请输入联系人电话',
trigger: 'blur'
},
{
validator: (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^[1](([3][0-9])|([4][5,7,9])|([5][0-9])|([6][6])|([7][1,2,3,5,6,7,8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/
console.log(reg.test(value));
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
},
trigger: 'blur'
}
],
addrProvince: [ addrProvince: [
{ {
required: true, required: true,
...@@ -369,12 +349,14 @@ ...@@ -369,12 +349,14 @@
} }
] ]
}, },
row: {},//编辑弹框参数
list: null, list: null,
total: null, total: null,
listLoading: true, listLoading: true,
listQuery: { listQuery: {
page: 1, page: 1,
limit: 20, limit: 20,
name: undefined,//简称
zoneId: undefined, zoneId: undefined,
addrProvince: undefined, addrProvince: undefined,
addrCity: undefined, addrCity: undefined,
...@@ -405,13 +387,9 @@ ...@@ -405,13 +387,9 @@
'companyStatusAndCode' 'companyStatusAndCode'
]), ]),
getAllZoneList(){ getAllZoneList(){
this.allZoneArr = getAllZone(); this.allZoneArr = getAllZone();
return getAllZone(); return getAllZone();
}, },
// provinceRegions() {
// return getSonRegionByCodes(1);
// },
cityRegions() { cityRegions() {
if (!this.$utils.isInteger(this.form.addrProvince)) { if (!this.$utils.isInteger(this.form.addrProvince)) {
return null; return null;
...@@ -439,47 +417,85 @@ ...@@ -439,47 +417,85 @@
}, },
methods: { methods: {
/** /**
* 改变省份,清空城市 * 查看详情
* */ * */
changeProvince(){ handleView(row){
this.form.addrCity = undefined; this.row = {
this.form.addrTown = undefined; id: row.id,
companyId: row.companyId,
stockId: row.stockId
};
this.infoVisible = true;
}, },
/** /**
* 根据片区获取省份数据 * 基础信息
* */ * */
getProvinceRegions() { handleSetting(row){
let that = this; this.dialogStatus = 'infoUpdate';
this.listQuery.addrCity = undefined; this.row = {
this.listQuery.addrProvince = undefined; id: row.id,
if (!this.$utils.isInteger(this.listQuery.zoneId)) { companyId: row.companyId
return null;
} }
this.allZoneArr.map(function(item){ this.companyInfoVisible = true;//基础信息弹框
if(item.id == that.listQuery.zoneId){ },
getSysRegionByIds(item.provinceIds).then(response => { /**
let listRs = undefined; * 设置股权
if (!that.$utils.isEmpty(response.data)) { * */
listRs = response.data; handleSettingStock(row){
this.row = {
stockId: row.stockId,
id: row.id,
};
this.stockRightVisible = true;
},
/**
* 公司介绍
* */
handleCompanyInfo(row){
this.dialogStatus = 'companyInfoUpdate';
this.row = {
id: row.id,
companyId: row.companyId
};
this.companyInfoVisible = true;//公司介绍弹框
},
/**
* 关闭公司介绍弹框
* */
companyInfoDialogEvent(e){
this.companyInfoVisible = false;//公司介绍弹框
if(e){
this.getList();
} }
that.provinceRegions = listRs; },
}); /**
* 关闭股权设置弹框
* */
stockRightDialogEvent(e){
this.stockRightVisible = false;//股权设置弹框
if(e){
this.getList();
} }
});
}, },
/** /**
* 表单里面根据片区获取省份数据 * 查看详情-关闭
* */ * */
getProvinceRegionsForm(){ infoDialogEvent(){
this.infoVisible = false;
},
/**
* 根据片区获取省份数据
* */
getProvinceRegions() {
let that = this; let that = this;
this.form.addrCity = undefined; this.listQuery.addrCity = undefined;
this.form.addrProvince = undefined; this.listQuery.addrProvince = undefined;
this.form.addrTown = undefined; if (!this.$utils.isInteger(this.listQuery.zoneId)) {
if (!this.$utils.isInteger(this.form.zoneId)) {
return null; return null;
} }
this.allZoneArr.map(function(item){ this.allZoneArr.map(function(item){
if(item.id == that.form.zoneId){ if(item.id == that.listQuery.zoneId){
getSysRegionByIds(item.provinceIds).then(response => { getSysRegionByIds(item.provinceIds).then(response => {
let listRs = undefined; let listRs = undefined;
if (!that.$utils.isEmpty(response.data)) { if (!that.$utils.isEmpty(response.data)) {
...@@ -490,21 +506,20 @@ ...@@ -490,21 +506,20 @@
} }
}); });
}, },
getValue(e){ getValue(e){
this.listQuery.addrCity = undefined; this.listQuery.addrCity = undefined;
}, },
/**
* 改变城市,清空城镇
* */
changeCity(){
this.form.addrTown = undefined;
},
getStatusName(code) { getStatusName(code) {
if (!this.$utils.isInteger(code)) { if (!this.$utils.isInteger(code)) {
return '未知'; return '未知';
} }
return this.companyStatusAndCode[code].val; return this.companyStatusAndCode[code].val;
}, },
/**
* 获取分公司列表
* */
getList() { getList() {
this.listLoading = true; this.listLoading = true;
page(this.listQuery) page(this.listQuery)
...@@ -550,7 +565,7 @@ ...@@ -550,7 +565,7 @@
handleCreate() { handleCreate() {
this.resetTemp(); this.resetTemp();
this.dialogStatus = 'create'; this.dialogStatus = 'create';
this.dialogFormVisible = true; this.companyInfoVisible = true;//公司介绍弹框
}, },
handleUpdate(row) { handleUpdate(row) {
var that = this; var that = this;
...@@ -574,23 +589,38 @@ ...@@ -574,23 +589,38 @@
this.selectedCity = response.data.addrCity; this.selectedCity = response.data.addrCity;
}); });
}, },
/**
* 删除
* */
handleDelete(row) { handleDelete(row) {
let t = this;
this.$confirm('此操作将永久删除, 是否继续?', '提示', { this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}) })
.then(() => { .then(() => {
delObj(row.id) let params = {id: row.id};
.then(() => { deleteOne(params)
.then((res) => {
if(res.status==200){
this.$notify({ this.$notify({
title: '成功', title: '成功',
message: '删除成功', message: '删除成功',
type: 'success', type: 'success',
duration: 2000 duration: 2000
}); });
const index = this.list.indexOf(row); t.getList();
this.list.splice(index, 1); } else {
this.$notify({
title: '失败',
message: res.message,
type: 'error',
duration: 2000
});
}
// const index = this.list.indexOf(row);
// this.list.splice(index, 1);
}); });
}); });
}, },
......
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