This commit is contained in:
myTest383
2024-12-31 16:22:44 +08:00
parent 04cce03793
commit c6a43e6f14
27 changed files with 1481 additions and 796 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
[data-v-3fa49be9] .el-form-item__error{margin-left:120px!important}.must[data-v-3fa49be9]{color:red}.span-sty[data-v-3fa49be9]{width:130px!important}.addinputInfo[data-v-3fa49be9]{margin-left:120px!important}.formaddcopy02 .el-row .el-col[data-v-3fa49be9] .el-form-item .addinputw{margin-left:120px!important;width:calc(100% - 115px)}.first_row[data-v-3fa49be9]{border-top:1px solid #e0e3eb}.titleOne[data-v-3fa49be9]{padding:7px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-radio[data-v-3fa49be9] .el-radio__label{font-size:14px!important}

View File

@@ -1 +0,0 @@
[data-v-6ff57089] .hide .el-upload--picture-card{display:none!important}.box-card[data-v-6ff57089]{margin-left:60px;margin-right:60px;min-width:70%;margin-top:20px}.box-card .item[data-v-6ff57089]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:15px;height:40px;line-height:40px}.box-card .item .item_text[data-v-6ff57089]{-webkit-box-flex:.8;-ms-flex:.8;flex:.8;font-size:18px;text-align:right}.box-card .item .item_input[data-v-6ff57089]{-webkit-box-flex:4;-ms-flex:4;flex:4;font-size:16px;margin-left:10px;margin-right:80px}.box-card .item .item_left_input[data-v-6ff57089]{width:20%}.box-card .item .item_left_text[data-v-6ff57089]{height:30px;margin-left:20px;line-height:30px;color:#018ad2;padding:0 15px;border:1.5px solid #018ad2;border-radius:5px}.box-card .item .item_right[data-v-6ff57089]{-webkit-box-flex:1;-ms-flex:1;flex:1;justify-items:center}.box-card .item .item_right .item_right_list_text[data-v-6ff57089]{font-size:16px}.box-card .item .item_right .item_right_list_delect[data-v-6ff57089]{color:#5e94ff;margin-left:20px;font-size:16px;text-decoration:underline}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,50 +1,49 @@
import request from '@/utils/request'
export default {
// 获取网点列表
bankListPage: function(data) {
return request({
url: '/lpkbank/listPage',
method: 'post',
data: data
});
},
// 新增网点
saveBank: function(data) {
return request({
url: '/lpkbank/save',
method: 'post',
data: data
});
},
// 修改网点
updateBank: function(data) {
return request({
url: '/lpkbank/update',
method: 'post',
data: data
});
},
// 初始化网点
bankInit: function(data) {
return request({
url: '/lpkbank/getLpkBankBySid/'+data,
method: 'get'
});
},
// 删除网点
deleteBank: function(data) {
return request({
url: '/lpkbank/delete/'+data,
method: 'delete'
});
},
}
// 获取区域列表
bankListPage: function(data) {
return request({
url: '/mall/lpkbank/listPage',
method: 'post',
data: data
});
},
// 新增区域
saveBank: function(data) {
return request({
url: '/mall/lpkbank/save',
method: 'post',
data: data
});
},
// 修改区域
updateBank: function(data) {
return request({
url: '/mall/lpkbank/update',
method: 'post',
data: data
});
},
// 初始化区域
bankInit: function(data) {
return request({
url: '/mall/lpkbank/getLpkBankBySid/' + data,
method: 'get'
});
},
// 删除区域
deleteBank: function(data) {
return request({
url: '/mall/lpkbank/delete/' + data,
method: 'delete'
});
},
}

View File

@@ -0,0 +1,14 @@
import request from '@/utils/request'
// 预售单
export default {
// 获取礼包列表
pcOrderList: function(data) {
return request({
url: '/mall/empsreservoorder/pcOrderList',
method: 'post',
data: data
});
},
}

View File

@@ -1,8 +1,8 @@
<template>
<div>
<el-upload :action="uploadUrl" :before-upload="handleBeforeUpload" :on-success="handleUploadSuccess"
:on-error="handleUploadError" name="file" :show-file-list="false" :headers="headers" style="display: none"
ref="upload" v-if="this.type == 'url'">
:on-error="handleUploadError" name="file" :show-file-list="false" :headers="accessToken"
style="display: none" ref="upload" v-if="this.type == 'url'">
</el-upload>
<div class="editor" ref="editor" :style="styles"></div>
</div>
@@ -16,6 +16,12 @@
import {
getToken
} from "@/utils/auth";
import {
getStorage
} from '@/utils/auth.js'
import {
uploadFile
} from '@/api/portal/Upload'
export default {
name: "Editor",
@@ -53,10 +59,12 @@
},
data() {
return {
uploadUrl: process.env.VUE_APP_BASE_API + "/mall/file/upload", // 上传的图片服务器地址
uploadUrl: uploadFile, // 上传的图片服务器地址
headers: {
Authorization: "Bearer " + getToken()
},
accessToken: null,
Quill: null,
currentValue: "",
options: {
@@ -126,6 +134,11 @@
immediate: true,
},
},
created() {
this.accessToken = {
token: getStorage()
}
},
mounted() {
this.init();
},

View File

@@ -264,16 +264,16 @@
// name: '/coupon/index',
// path: '/coupon/index'
// },
// {
// alwaysShow: true,
// component: 'network',
// meta: {
// icon: 'el-icon-menu',
// title: '支行管理'
// },
// name: '/network/index',
// path: '/network/index'
// },
{
alwaysShow: true,
component: 'network',
meta: {
icon: 'el-icon-menu',
title: '区域管理'
},
name: '/network/index',
path: '/network/index'
},
{
alwaysShow: true,
component: 'commodity',
@@ -284,6 +284,16 @@
name: '/commodity/index',
path: '/commodity/index'
},
{
alwaysShow: true,
component: 'preSaleOrder',
meta: {
icon: 'el-icon-menu',
title: '预售订单'
},
name: '/preSaleOrder/index',
path: '/preSaleOrder/index'
},
// {
// alwaysShow: true,
@@ -352,7 +362,7 @@
component: 'index',
meta: {
icon: 'el-icon-help',
title: '预约单统计'
title: '预约提货单统计'
},
name: '/orderreserve/index',
path: '/orderreserve/index'

View File

@@ -347,7 +347,7 @@ export const constantRoutes = [{
import('@/views/network/index.vue'),
name: 'index',
meta: {
title: '支行管理'
title: '区域管理'
}
}, ]
},
@@ -366,6 +366,24 @@ export const constantRoutes = [{
}
}, ]
},
{
path: '/preSaleOrder',
component: Layout,
redirect: '/preSaleOrder/index',
children: [{
path: '/preSaleOrder/index',
component: () =>
import('@/views/preSaleOrder/index.vue'),
name: 'index',
meta: {
title: '预售订单'
}
}, ]
},
{
path: '/order',
component: Layout,
@@ -416,7 +434,7 @@ export const constantRoutes = [{
import('@/views/orderreserve/index.vue'),
name: 'OrderreserveIndex',
meta: {
title: '预约单统计'
title: '预约提货单统计'
}
}, {
path: '/orderreserve/distributionCount',

View File

@@ -37,55 +37,22 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 商品排序</div>
<el-form-item prop="sort">
<el-input v-model="formobj.sort" placeholder="商品排序" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^0-9]/g,'')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 商品名称</div>
<el-form-item prop="name">
<el-input v-model="formobj.name" placeholder="" class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">编码</div>
<el-form-item>
<el-input v-model="formobj.code" placeholder="" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">条码</div>
<el-form-item>
<el-input v-model="formobj.barcode" placeholder="" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^0-9]/g,'')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 单位</div>
<el-form-item prop="specificationUnit">
<el-select v-model="formobj.specificationUnit" placeholder="请选择单位"
class="addinputw addinputInfo" @change="selectSpecificationUnitChange">
<el-option v-for="item in unitList" :key="item.sid" :label="item.unitName"
:value="item.sid" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 单价</div>
<el-form-item prop="price">
<el-input v-model="formobj.price" placeholder="" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
<div class="span-sty"><span class="must">*</span> 规格编码</div>
<el-form-item prop="code">
<el-input v-model="formobj.code" placeholder="" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
</el-form-item>
</el-col>
<el-col :span="8">
@@ -95,21 +62,68 @@
clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">规格条码</div>
<el-form-item>
<el-input v-model="formobj.barcode" placeholder="" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^0-9]/g,'')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-col :span="16">
<div class="span-sty">规格描述</div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="例如:重量约 209g" class="addinputw addinputInfo"
clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 商品排序</div>
<el-form-item prop="sort">
<el-input v-model="formobj.sort" placeholder="商品排序" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^0-9]/g,'')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 基础单位</div>
<el-form-item prop="specificationUnit">
<el-select v-model="formobj.specificationUnit" placeholder="请选择基础单位"
class="addinputw addinputInfo" @change="selectSpecificationUnitChange">
<el-option v-for="item in unitList" :key="item.sid" :label="item.unitName"
:value="item.sid" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 进货单价</div>
<el-form-item prop="purchasePrice">
<el-input v-model="formobj.purchasePrice" placeholder="" class="addinputw addinputInfo"
clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 销售单价</div>
<el-form-item prop="price">
<el-input v-model="formobj.price" placeholder="" class="addinputw addinputInfo" clearable
@input="countPackprice"
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
@@ -123,7 +137,7 @@
<div class="span-sty"><span class="must">*</span> 包装内数量</div>
<el-form-item prop="quantityOfPackage">
<el-input v-model="formobj.quantityOfPackage " placeholder="例如30"
class="addinputw addinputInfo" clearable
class="addinputw addinputInfo" clearable @input="countPackprice"
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item>
</el-col>
@@ -142,7 +156,7 @@
<el-col :span="24">
<div class="span-sty">包装规格</div>
<el-form-item>
<el-input v-model="formobj.packageSpecs" placeholder="例如30瓶/箱"
<el-input v-model="formobj.packageSpecs" placeholder="包内数量+基础单位+'/'+包装单位"
class="addinputw addinputInfo" clearable />
</el-form-item>
</el-col>
@@ -179,7 +193,7 @@
<div class="span-sty"><span class="must">*</span> 商品详情</div>
<el-form-item prop="appContent">
<editor :height="300" :min-height="100" :value="formobj.appContent" @input="editinput"
class="addinputw addinputInfo" />
class="addinputw addinputInfo" @blur='contentRule' />
</el-form-item>
</el-col>
@@ -328,6 +342,7 @@
name: '',
code: '',
barcode: '',
purchasePrice: '',
price: '',
stepWeight: '',
stepPrice: '',
@@ -384,11 +399,21 @@
message: '请选择商品单位',
trigger: 'change'
}],
purchasePrice: [{
required: true,
message: '进货单价不能为空',
trigger: 'blur'
}],
price: [{
required: true,
message: '商品单价不能为空',
trigger: 'blur'
}],
code: [{
required: true,
message: '规格编码不能为空',
trigger: 'blur'
}],
weight: [{
required: true,
message: '规格型号不能为空',
@@ -414,11 +439,11 @@
message: '商品图片不能为空',
trigger: 'blur'
}],
appContent: [{
required: true,
message: '商品详情不能为空',
trigger: 'blur'
}],
// appContent: [{
// required: true,
// message: '商品详情不能为空',
// trigger: 'blur'
// }],
}
}
},
@@ -489,6 +514,7 @@
name: '',
code: '',
barcode: '',
purchasePrice: '',
price: '',
stepWeight: '',
stepPrice: '',
@@ -555,8 +581,19 @@
console.log('this.hideUploadBtn', this.hideUploadBtn)
})
},
countPackprice() {
if (Number(this.formobj.price) != 0 && Number(this.formobj.quantityOfPackage) != 0) {
this.formobj.packprice = (Number(this.formobj.price) * Number(this.formobj.quantityOfPackage))
.toFixed(2)
}
},
contentRule() {
this.$refs['form_obj'].validateField('appContent')
},
editinput(text) {
this.formobj.appContent = text
console.log('editinput', this.formobj.appContent)
},
selectBrandChange(val) {
console.log('selectBrandChange', val)
@@ -594,6 +631,7 @@
}
}
}
}
}
</script>

View File

@@ -68,10 +68,10 @@
</span> -->
</template>
</el-table-column>
<el-table-column prop="code" label="商品编码" align="center" />
<el-table-column prop="code" label="规格编码" align="center" />
<!-- <el-table-column prop="barcode" label="商品条码" align="center" /> -->
<el-table-column prop="price" label="单价" align="center" />
<el-table-column prop="unitName" label="单位" align="center" />
<el-table-column prop="price" label="销售单价" align="center" />
<el-table-column prop="unitName" label="基础单位" align="center" />
<el-table-column prop="brandName" label="品牌" align="center" />
<el-table-column prop="categoryName" label="分类" align="center" />
<el-table-column prop="sort" label="排序" align="center" />

View File

@@ -1,230 +1,233 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="支行列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="支行名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">支行列表</div>
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" :row-style="{height: '40px'}">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">编辑</el-button>
<el-button type="primary" size="mini" @click="toRelevancyInfo(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="支行名称" align="center" />
<el-table-column prop="shortName" label="支行简称" align="center" />
<el-table-column prop="linker" label="联系人" align="center" />
<el-table-column prop="linkPhone" label="联系电话" align="center" />
<el-table-column prop="address" label="支行地址" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
<!-- 新增修改部分组件 -->
<divAdd v-show="viewState == 2|| viewState ==3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
</div>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="区域列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="区域名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">区域列表</div>
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
:row-style="{height: '40px'}">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">编辑</el-button>
<el-button type="primary" size="mini" @click="toRelevancyInfo(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="区域名称" align="center" />
<el-table-column prop="shortName" label="区域简称" align="center" />
<el-table-column prop="linker" label="联系" align="center" />
<el-table-column prop="linkPhone" label="联系电话" align="center" />
<el-table-column prop="address" label="区域地址" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
<!-- 新增修改部分组件 -->
<divAdd v-show="viewState == 2|| viewState ==3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
</div>
</template>
<script>
import req from '@/api/network/network.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './indexAdd.vue'
export default {
name: 'SupplierBankInfoIndex',
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1、列表 2、添加 3、修改 4、查看
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
// 搜索条件效果
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.bankListPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// 根据resp.code进行异常情况处理
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
// 序号
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: '',
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
import req from '@/api/network/network.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './indexAdd.vue'
export default {
name: 'SupplierBankInfoIndex',
components: {
ButtonBar,
Pagination,
pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1、列表 2、添加 3、修改 4、查看
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
const tip = '请确认是否删除所选支行?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBank(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// 根据resp.code进行异常情况处理
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
}
}
}
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
// 搜索条件效果
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.queryParams.params.menuUrl = this.$route.path
req.bankListPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// 根据resp.code进行异常情况处理
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
// 序号
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: '',
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选支行?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBank(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// 根据resp.code进行异常情况处理
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped>
</style>

View File

@@ -1,197 +1,205 @@
<template>
<div>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>网点信息</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>区域信息</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="listconadd">
<div class="listconadd">
<el-card class="box-card">
<div class="item">
<span class="item_text">名称</span>
<el-input v-model="formobj.name" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">简称</span>
<el-input v-model="formobj.shortName" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">联系人</span>
<el-input v-model="formobj.linker" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">电话</span>
<el-input v-model="formobj.linkPhone" placeholder="" class="item_input" clearable />
</div>
<el-card class="box-card">
<div class="item">
<span class="item_text">名称</span>
<el-input v-model="formobj.name" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">简称</span>
<el-input v-model="formobj.shortName" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">联系人</span>
<el-input v-model="formobj.linker" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">电话</span>
<el-input v-model="formobj.linkPhone" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">地址</span>
<el-input v-model="formobj.address" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">地址</span>
<el-input v-model="formobj.address" placeholder="" class="item_input" clearable />
</div>
</el-card>
</el-card>
</div>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/network/network.js'
import req from '@/api/network/network.js'
export default {
data() {
return {
submitdisabled: false,
formobj: {
sid: "",
name: '',
shortName: '',
linker: '',
linkPhone: "",
address: "",
}
}
},
methods: {
export default {
data() {
return {
submitdisabled: false,
formobj: {
sid: "",
name: '',
shortName: '',
linker: '',
linkPhone: "",
address: "",
orgPath: window.sessionStorage.getItem('orgSidPath'),
useOrgSid: window.sessionStorage.getItem('defaultDeptSid'),
userSid: window.sessionStorage.getItem('userSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
}
}
},
methods: {
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
if(this.formobj.sid){
req.updateBank(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// 根据resp.code进行异常情况处理
}
})
.catch(() => {})
}else{
req.saveBank(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// 根据resp.code进行异常情况处理
}
})
.catch(() => {})
}
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.imgList = []
this.formobj = {
sid: "",
name: '',
shortName: '',
linker: '',
linkPhone: "",
address: "",
}
this.$emit('doback')
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
showAdd() {
if (this.formobj.sid) {
req.updateBank(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// 根据resp.code进行异常情况处理
}
})
.catch(() => {})
} else {
req.saveBank(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// 根据resp.code进行异常情况处理
}
})
.catch(() => {})
}
},
showEdit(row) {
req.bankInit(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = row
})
}
}
}
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.imgList = []
this.formobj = {
sid: "",
name: '',
shortName: '',
linker: '',
linkPhone: "",
address: "",
orgPath: window.sessionStorage.getItem('orgSidPath'),
useOrgSid: window.sessionStorage.getItem('defaultDeptSid'),
userSid: window.sessionStorage.getItem('userSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
}
this.$emit('doback')
},
showAdd() {
},
showEdit(row) {
req.bankInit(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = row
})
}
}
}
</script>
<style lang="scss">
.box-card {
margin-left: 60px;
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
.box-card {
margin-left: 60px;
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
.item {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 15px;
height: 40px;
line-height: 40px;
.item {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 15px;
height: 40px;
line-height: 40px;
.item_text {
flex: 0.8;
font-size: 18px;
text-align: right;
}
.item_text {
flex: 0.8;
font-size: 18px;
text-align: right;
}
.item_input {
flex: 4;
font-size: 16px;
margin-left: 10px;
margin-right: 80px;
}
.item_input {
flex: 4;
font-size: 16px;
margin-left: 10px;
margin-right: 80px;
}
.item_left_input {
width: 20%;
}
.item_left_input {
width: 20%;
}
.item_left_text {
height: 30px;
margin-left: 20px;
line-height: 30px;
color: #018AD2;
padding: 0px 15px;
border: 1.5px solid #018AD2;
border-radius: 5px;
.item_left_text {
height: 30px;
margin-left: 20px;
line-height: 30px;
color: #018AD2;
padding: 0px 15px;
border: 1.5px solid #018AD2;
border-radius: 5px;
}
}
.item_right {
flex: 1;
justify-items: center;
.item_right {
flex: 1;
justify-items: center;
.item_right_list_text {
font-size: 16px;
}
.item_right_list_text {
font-size: 16px;
}
.item_right_list_delect {
color: #5E94FF;
margin-left: 20px;
font-size: 16px;
text-decoration: underline;
}
}
.item_right_list_delect {
color: #5E94FF;
margin-left: 20px;
font-size: 16px;
text-decoration: underline;
}
}
}
}
}
}
</style>

View File

@@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="预约单列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="预约提货单列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
@@ -9,29 +9,43 @@
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="预约开始日期">
<el-form-item label="预约日期">
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="预约结束日期">
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<!-- <el-form-item label="所属支行">
<el-select v-model="page.params.bankSid" filterable class="item_input" clearable placeholder="请选择" style="width:100%" @change="bankSelect">
<el-option v-for="item in bankList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="提货门店">
<el-select v-model="page.params.store" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-option v-for="item in storeList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="菜窖分类">
<el-select v-model="page.params.cardType" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-option v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item> -->
<!-- <el-form-item label="所属支行">
<el-select v-model="page.params.bankSid" filterable class="item_input" clearable
placeholder="请选择" style="width:100%" @change="bankSelect">
<el-option v-for="item in bankList" :key="item.sid" :label="item.name"
:value="item.sid" />
</el-select>
</el-form-item> -->
<el-form-item label="提货地点">
<el-select v-model="page.params.store" filterable class="item_input" clearable
placeholder="请选择" style="width:100%">
<el-option v-for="item in storeList" :key="item.sid" :label="item.name"
:value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="菜窖分类">
<el-select v-model="page.params.cardType" filterable class="item_input" clearable
placeholder="请选择" style="width:100%">
<el-option v-for="item in brandList" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="page.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="page.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="商品名称">
<el-input v-model="page.params.name" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search"
@@ -43,13 +57,14 @@
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">预约单列表</div>
<div class="tit">预约提货单列表</div>
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@selection-change="handleChange">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<!-- <el-table-column label="操作" align="center" width="120">
<template slot-scope="scope">
@@ -57,14 +72,15 @@
</template>
</el-table-column> -->
<el-table-column prop="reserveDate" label="预约日期" align="center" />
<el-table-column prop="bankName" label="所属支行" align="center" />
<el-table-column prop="reserveState" label="预约单状态" align="center" />
<!-- <el-table-column prop="bankName" label="所属支行" align="center" /> -->
<el-table-column prop="storeName" label="提货点" align="center" />
<el-table-column prop="brandName" label="菜窖分类" align="center" />
<el-table-column prop="userName" label="户名称" align="center" />
<el-table-column prop="userName" label="户名称" align="center" />
<el-table-column prop="userPhone" label="联系电话" align="center" />
<el-table-column prop="goodsName" label="商品名称" align="center" />
<el-table-column prop="goodsNumber" label="商品数量" align="center" />
<el-table-column prop="customerBank" label="客户所属支行" align="center" />
<!-- <el-table-column prop="customerBank" label="客户所属支行" align="center" /> -->
</el-table>
</div>
<!-- End 项目列表 -->
@@ -105,6 +121,12 @@
tableLoading: false,
dataList: [],
btnList: [{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'cancel',
btnLabel: '取消预约'
}, {
type: 'success',
size: 'small',
icon: 'export',
@@ -141,13 +163,16 @@
},
created() {
// this.initBank()
// this.initStore()
// this.initBrand()
this.initStore()
this.initBrand()
// this.getAllStore()
this.loadList()
// this.getBankList()
},
methods: {
handleChange(val) {
},
initBank() {
reqBank.listBankAll()
.then(resp => {

View File

@@ -1,249 +1,257 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="提货点列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="提货点名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">提货点列表</div>
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
:row-style="{height: '40px'}">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">编辑</el-button>
<!-- <el-button type="primary" size="mini" @click="toRelevancyInfo(scope.row)">删除</el-button> -->
</template>
</el-table-column>
<el-table-column label="是否禁用" align="center" width="140">
<template slot-scope="scope">
<el-switch v-model="scope.row.isEnable" active-text="可用" inactive-text="禁用"
active-value="1" inactive-value="0"
@change="enableChange(scope.row.sid,scope.row.isEnable)" />
</template>
</el-table-column>
<el-table-column prop="name" label="提货点名称" align="center" width="250" />
<el-table-column prop="phone" label="联系电话" align="center" width="150" />
<el-table-column prop="address" label="提货点地址" align="center" />
<el-table-column prop="bankName" label="所属支行" width="250" align="center" />
<el-table-column prop="businessHours" label="营业时间" align="center" width="200" />
<el-table-column prop="sort" label="排序" align="center" width="80" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
<!-- 新增修改部分组件 -->
<divAdd v-show="viewState == 2|| viewState ==3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
</div>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="提货点列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="提货点名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
<!-- <el-form-item label="所属区域">
<el-input v-model="queryParams.params.bankName" placeholder="" clearable />
</el-form-item> -->
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">提货点列表</div>
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
:row-style="{height: '40px'}">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">编辑</el-button>
<!-- <el-button type="primary" size="mini" @click="toRelevancyInfo(scope.row)">删除</el-button> -->
</template>
</el-table-column>
<el-table-column label="是否禁用" align="center" width="140">
<template slot-scope="scope">
<el-switch v-model="scope.row.isEnable" active-text="可用" inactive-text="禁用"
active-value="1" inactive-value="0"
@change="enableChange(scope.row.sid,scope.row.isEnable)" />
</template>
</el-table-column>
<el-table-column prop="name" label="提货点名称" align="center" width="250" />
<el-table-column prop="phone" label="联系电话" align="center" width="150" />
<!-- <el-table-column prop="bankName" label="所属区域" width="150" align="center" /> -->
<el-table-column prop="address" label="提货点地址" align="center" />
<el-table-column prop="businessHours" label="营业时间" align="center" width="200" />
<el-table-column prop="sort" label="排序" align="center" width="80" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
<!-- 新增修改部分组件 -->
<divAdd v-show="viewState == 2|| viewState ==3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
</div>
</template>
<script>
import req from '@/api/pickupPoint/pickupPoint.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
// import pageye from '@/components/pagination/pageye'
import divAdd from './indexAdd.vue'
export default {
name: 'SupplierBankInfoIndex',
components: {
ButtonBar,
Pagination,
// pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1、列表 2、添加 3、修改 4、查看
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
// 搜索条件效果
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.storeListPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// 根据resp.code进行异常情况处理
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
// 序号
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选提货点?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteStore(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// 根据resp.code进行异常情况处理
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
req.updateIsEnable(sid, state).then((resp) => {
if (resp.success) {
this.$message({
type: 'success',
message: '状态已更新',
showClose: true
})
} else { // 根据resp.code进行异常情况处理
}
}).catch(e => {
console.log(e)
})
}
}
}
import req from '@/api/pickupPoint/pickupPoint.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
// import pageye from '@/components/pagination/pageye'
import divAdd from './indexAdd.vue'
export default {
name: 'SupplierBankInfoIndex',
components: {
ButtonBar,
Pagination,
// pageye,
divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1、列表 2、添加 3、修改 4、查看
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
bankName: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
// 搜索条件效果
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.queryParams.params.menuUrl = this.$route.path
req.storeListPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// 根据resp.code进行异常情况处理
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
// 序号
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: '',
bankName: ''
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选提货点?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteStore(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// 根据resp.code进行异常情况处理
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
req.updateIsEnable(sid, state).then((resp) => {
if (resp.success) {
this.$message({
type: 'success',
message: '状态已更新',
showClose: true
})
} else { // 根据resp.code进行异常情况处理
}
}).catch(e => {
console.log(e)
})
}
}
}
</script>
<style scoped>
</style>

View File

@@ -45,7 +45,7 @@
<el-input v-model="formobj.lonAndLat" placeholder="经纬度,以逗号分隔" class="item_input" clearable />
</div>
<!-- <div class="item">
<span class="item_text">所属支行</span>
<span class="item_text">所属区域</span>
<el-select v-model="formobj.bankName" filterable class="item_input" clearable placeholder="请选择"
style="width:100%" @change="bankSelect">
<el-option v-for="item in bankList" :key="item.name" :label="item.name" :value="item.sid">
@@ -78,25 +78,31 @@
picUrl: '',
lonAndLat: '',
bankName: "",
bankSid: ""
bankSid: "",
orgPath: window.sessionStorage.getItem('orgSidPath'),
useOrgSid: window.sessionStorage.getItem('defaultDeptSid'),
userSid: window.sessionStorage.getItem('userSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
},
bankList: []
}
},
created() {
// req.bankSelect()
// .then(resp => {
// console.log('>>>>>>>>>bankSelect', resp)
// this.bankList = resp.data
// console.log('>>>>>>>>>bankSelect', this.bankList)
// })
// .catch(() => {})
},
methods: {
init() {
req.bankSelect()
.then(resp => {
console.log('>>>>>>>>>bankSelect', resp)
this.bankList = resp.data
console.log('>>>>>>>>>bankSelect', this.bankList)
})
.catch(() => {})
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
req.saveStore(this.formobj)
@@ -128,15 +134,20 @@
picUrl: '',
lonAndLat: '',
bankName: "",
bankSid: ""
bankSid: "",
orgPath: window.sessionStorage.getItem('orgSidPath'),
useOrgSid: window.sessionStorage.getItem('defaultDeptSid'),
userSid: window.sessionStorage.getItem('userSid'),
createOrgSid: window.sessionStorage.getItem('orgSid'),
}
this.$emit('doback')
},
showAdd() {
// this.init()
},
showEdit(row) {
// this.init()
req.storeInit(row.sid)
.then(resp => {
if (resp.success) {
@@ -149,6 +160,15 @@
},
bankSelect(val) {
this.formobj.bankSid = val
console.log('selectCateChange', val)
for (var i = 0; i < this.bankList.length; i++) {
if (val === this.bankList[i].sid) {
this.formobj.bankName = this.bankList[i].name
break
}
}
}
}
}

View File

@@ -0,0 +1,529 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="预售单列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="订单编号">
<el-input v-model="page.params.billNo" placeholder="" clearable />
</el-form-item>
<el-form-item label="创建日期">
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="page.params.name" placeholder="" clearable />
</el-form-item>
<el-form-item label="支付状态">
<el-select v-model="page.params.payState" filterable class="item_input" clearable
placeholder="请选择" style="width:100%">
<el-option v-for="item in payStateList" :key="item.sid" :label="item.name"
:value="item.sid" />
</el-select>
</el-form-item>
<el-form-item label="支付日期">
<el-date-picker v-model="page.params.payStartDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.payEndDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="开票状态">
<el-select v-model="page.params.invoiceState" filterable class="item_input" clearable
placeholder="请选择" style="width:100%">
<el-option v-for="item in invoiceStateList" :key="item.sid" :label="item.name"
:value="item.sid" />
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">预售单列表</div>
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@selection-change="handleChange">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<!-- <el-table-column label="操作" align="center" width="120">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">明细</el-button>
</template>
</el-table-column> -->
<el-table-column prop="createTime" label="创建日期" align="center" />
<el-table-column label="订单编号" align="center" width="350">
<template slot-scope="scope">
<span style="color: #1890FF; text-decoration: underline ;"
@click="showOrder(scope.row.sid)">{{scope.row.outTradeNo}}</span>
</template>
</el-table-column>
<!-- <el-table-column prop="bankName" label="所属支行" align="center" /> -->
<!-- <el-table-column prop="userName" label="客户名称" align="center" /> -->
<!-- <el-table-column prop="userPhone" label="联系电话" align="center" /> -->
<el-table-column prop="name" label="商品名称" align="center" />
<el-table-column prop="count" label="商品数量" align="center" />
<el-table-column prop="payStatusValue" label="支付状态" align="center" />
<!-- <el-table-column label="支付状态" align="center">
<template slot-scope="scope">
<span type="primary" size="mini">{{payState(scope.row.payStatus)}}</span>
</template>
</el-table-column> -->
<el-table-column prop="invoiceStatusValue" label="开票状态" align="center" />
<!-- <el-table-column prop="customerBank" label="客户所属支行" align="center" /> -->
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current"
:limit.sync="page.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> -->
<el-dialog title="订单详情" :visible.sync="dialogVisible" :before-close="handleClose">
<el-form ref="dataForm1" class="formadd" style="margin-top: -40px;" :model="orderInfo">
<div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px">
<div>订单信息</div>
</div>
<el-row class="first_row">
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">订单编号</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item class="trightb_item">
<span slot="label">{{orderInfo.outTradeNo}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">下单时间</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<span slot="label">{{orderInfo.createTime}}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">付款时间</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<span slot="label">{{orderInfo.payTime}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">支付方式</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<span slot="label">{{orderInfo.payType}}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">实付金额</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<span slot="label">{{orderInfo.meet}}</span>
</el-form-item>
</el-col>
</el-row>
<el-collapse v-model="activeNames" style="margin-top: 20px;">
<el-collapse-item name="1" title="商品列表">
<!-- <template slot="title">
商品列表<span class="span" @click.stop="add()">添加</span>
</template> -->
<el-table v-loading="listLoading" :data="orderInfo.ordOrderDetails" border style="width: 100%;"
:row-style="{height: '40px'}">
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="商品图片" align="center">
<template slot-scope="scope">
<el-popover placement="left" trigger="click" width="300">
<img :src="scope.row.picUrl" width="100%" />
<img slot="reference" :src="scope.row.picUrl" :alt="scope.row.picUrl"
style="max-height: 70px;max-width: 70px; padding: 5px" />
</el-popover>
</template>
</el-table-column>
<el-table-column label="商品名称" prop="goodsName" align="center" />
<el-table-column label="份数" prop="partNumber" align="center" />
<el-table-column label="单价" prop="priceUnit" align="center" />
<el-table-column label="单位" prop="specificationUnit" align="center" />
<el-table-column label="规格" prop="unitName" align="center" />
<el-table-column label="金额" prop="pricePart" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</el-form>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="handleClose"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/preSaleOrder/preSaleOrder.js'
import req2 from '@/api/invoiceReview/invoiceReview.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
// import divAdd from './indexInfo.vue'
export default {
name: 'OrderreserveIndex',
components: {
ButtonBar,
Pagination,
// divAdd
},
data() {
return {
btndisabled: false,
viewState: 1, // 1、列表 2、添加 3、修改 4、查看
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
listLoading: false,
activeNames: ['1'],
dialogVisible: false,
dataList: [],
btnList: [{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'refund',
btnLabel: '退款'
}, {
type: 'success',
size: 'small',
icon: 'export',
btnKey: 'build',
btnLabel: '导出'
}, {
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'dodel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
page: {
total: 0, // 默认数据总数
current: 1, // 默认开始页面
size: 10, // 每页的数据条数
params: {
billNo: '',
startDate: '',
endDate: '',
name: '',
payState: '',
payStartDate: '',
payEndDate: '',
invoiceState: ''
}
},
brandList: [],
bankList: [],
storeList: [],
payStateList: [{
sid: '2',
name: '待支付'
},
{
sid: '3',
name: '已取消'
},
{
sid: '4',
name: '支付成功'
},
{
sid: '99',
name: '已退款'
}
],
invoiceStateList: [{
sid: '0',
name: '未开票'
},
{
sid: '1',
name: '提交申请'
},
{
sid: '2',
name: '审核通过'
},
{
sid: '3',
name: '不通过'
}
],
sids: [],
orderInfo: {}
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
// payState(val) {
// if (val == '2') {
// return "待支付"
// } else if (val == '3') {
// return "已取消"
// } else if (val == '4') {
// return "支付成功"
// } else if (val == '99') {
// return "已退款"
// }
// },
showOrder(sid) {
console.log("showOrder", sid);
if (sid != this.orderInfo.sid) {
req2.getOrderDetails(sid).then((resp) => {
console.log("getOrderDetails", resp.data);
this.orderInfo = resp.data
this.tableLoading = false
this.dialogVisible = true
}).catch(() => {
this.tableLoading = false
})
} else {
this.dialogVisible = true
}
},
handleClose() {
this.dialogVisible = false
},
handleChange(val) {
console.log("handleChange", val)
// this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
initBank() {
reqBank.listBankAll()
.then(resp => {
this.bankList = resp.data
})
},
initStore() {
reqBank.listStoreOfBank(this.page.params.bankSid)
.then(resp => {
this.storeList = resp.data
})
},
initBrand() {
reqMall.listAllBrand().then(resp => {
this.brandList = resp.data
})
},
// 搜索条件效果
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'build': // 导出
this.doBuild()
break
case 'doClose':
this.doClose()
break
case 'dodel':
this.dodel()
break
case 'refund':
this.refund()
break
default:
break
}
},
bankSelect(val) {
console.log('>>>>>>>>>bankSelect', val)
this.page.params.bankSid = val
this.page.params.store = ''
this.initStore()
},
loadList() {
this.tableLoading = true
this.page.params.userSid = window.sessionStorage.getItem('userSid')
this.page.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.page.params.menuUrl = this.$route.path
req.pcOrderList(this.page).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.page.total = data.total
this.dataList = data.records
} else {
// 根据resp.code进行异常情况处理
this.dataList = []
this.page.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
// 序号
indexMethod(index) {
var pagestart = (this.page.current - 1) * this.page.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.page.current = 1
this.loadList()
},
resetQuery() {
this.page = {
current: 1,
size: 10,
total: 0,
params: {
billNo: '',
startDate: '',
endDate: '',
name: '',
payState: '',
payStartDate: '',
payEndDate: '',
invoiceState: ''
}
}
this.loadList()
},
toRelevancy(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
// 导出
doBuild() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.expExcelOfCustomer(this.page.params).then((resp) => {
loading.close()
const blob = new Blob([resp], {
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
})
const fileName = '预约单明细_' + this.page.params.startDate + '.xlsx'
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'nonde'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}).catch(() => {
loading.close()
})
},
dodel() {
},
refund() {
},
}
}
</script>
<style scoped>
</style>

View File

@@ -40,8 +40,8 @@ module.exports = {
},
proxy: {
'/api': { // 匹配所有以 '/api'开头的请求路径
// target: 'http://192.168.0.105:7211',
target: process.env.VUE_APP_URL, // 代理目标的基础路径
target: 'http://192.168.0.105:8116',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径
// target: 'https://supervise.yxtsoft.com/lpkapi', // 代理目标的基础路径
changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
@@ -49,8 +49,8 @@ module.exports = {
}
},
'/upload': { // 匹配所有以 '/api'开头的请求路径
// target: 'http://192.168.0.105:7211',
target: process.env.VUE_APP_URL, // 代理目标的基础路径
target: 'http://192.168.0.105:8116',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径
// target: 'https://supervise.yxtsoft.com/lpkapi', // 代理目标的基础路径
changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api'