Merge branch 'base-dev' of gitee.com:cabbage_qd/web-base-admin into bd-dev

This commit is contained in:
woody 2025-04-30 10:00:00 +08:00
commit 35899ca8d7
26 changed files with 2330 additions and 3808 deletions

View File

@ -1,23 +1,23 @@
import request from '@/utils/request'
//级别配置-等级配置-获取等级配置列表
// 级别配置-等级配置-获取等级配置列表
export function getGradeList(params) {
return request({
url: '/system/manage/grade/list',
method: 'get',
params
})
return request({
url: '/system/manage/grade/list',
method: 'get',
params
})
}
//级别配置-等级配置-获取直推范围列表-注册等级
// 级别配置-等级配置-获取直推范围列表-注册等级
export function getgradeRanglist(params) {
return request({
url: '/system/manage/grade/gradeRanglist',
method: 'get',
params
})
return request({
url: '/system/manage/grade/gradeRanglist',
method: 'get',
params
})
}
//证件类型
// 证件类型
export function getCardType(params) {
return request({
url: '/system/pub/enums/get-card-type',
@ -25,7 +25,7 @@ export function getCardType(params) {
params
})
}
//获取性别
// 获取性别
export function getSex(params) {
return request({
url: '/system/pub/enums/get-sex',
@ -33,45 +33,45 @@ export function getSex(params) {
params
})
}
//获取单条等级配置
// 获取单条等级配置
export function getOnelist(pkId) {
return request({
url: '/system/manage/grade/getOne/' + pkId,
method: 'get',
})
return request({
url: '/system/manage/grade/getOne/' + pkId,
method: 'get'
})
}
//删除等级配置
// 删除等级配置
export function deleteGrade(pkId) {
return request({
url: '/system/manage/grade/' + pkId,
method: 'delete',
})
return request({
url: '/system/manage/grade/' + pkId,
method: 'delete'
})
}
// 统计类型列表
export function getStatistical(params) {
return request({
url: '/system/pub/enums/statistical-value',
method: 'get',
params
})
return request({
url: '/system/pub/enums/statistical-value',
method: 'get',
params
})
}
//注册权限列表
// 注册权限列表
export function getRegistration(params) {
return request({
url: '/system/pub/enums/registration-authority',
method: 'get',
params
})
return request({
url: '/system/pub/enums/registration-authority',
method: 'get',
params
})
}
// 真实奖衔下拉选择列表
export function getAwardsListChiose(params) {
return request({
url: '/system/manage/awards/awardsList',
method: 'get',
params
})
return request({
url: '/system/manage/awards/awardsList',
method: 'get',
params
})
}
// 获取讲师等级
export function lecturerList(params) {
@ -81,13 +81,13 @@ export function lecturerList(params) {
params
})
}
//添加等级配置
// 添加等级配置
export function saveGrade(data) {
return request({
url: '/system/manage/grade/generate',
method: 'post',
data
})
return request({
url: '/system/manage/grade/generate',
method: 'post',
data
})
}
// 生成等级配置
@ -99,214 +99,160 @@ export function saveGrade(data) {
// })
// }
//修改单条等级配置
// 修改单条等级配置
export function updateGrade(data) {
return request({
url: '/system/manage/grade/update',
method: 'post',
data
})
return request({
url: '/system/manage/grade/update',
method: 'post',
data
})
}
//级别配置-奖衔配置-获取奖衔配置列表
// 级别配置-奖衔配置-获取奖衔配置列表
export function getAwardsList(params) {
return request({
url: '/system/manage/awards/list',
method: 'get',
params
})
return request({
url: '/system/manage/awards/list',
method: 'get',
params
})
}
//获取单条奖衔配置
// 获取单条奖衔配置
export function getOneAwards(pkId) {
return request({
url: '/system/manage/awards/getOne/' + pkId,
method: 'get',
})
return request({
url: '/system/manage/awards/getOne/' + pkId,
method: 'get'
})
}
//删除单条奖衔配置
// 删除单条奖衔配置
export function deleteAwards(pkId) {
return request({
url: '/system/manage/awards/' + pkId,
method: 'delete',
})
return request({
url: '/system/manage/awards/' + pkId,
method: 'delete'
})
}
//添加奖衔配置
// 添加奖衔配置
export function saveAwards(data) {
return request({
url: '/system/manage/awards/save',
method: 'post',
data
})
return request({
url: '/system/manage/awards/save',
method: 'post',
data
})
}
//生成奖衔配置
// 生成奖衔配置
export function scGenerate(data) {
return request({
url: '/system/manage/awards/generate',
method: 'post',
data
})
return request({
url: '/system/manage/awards/generate',
method: 'post',
data
})
}
//修改奖衔配置
// 修改奖衔配置
export function updateAwards(data) {
return request({
url: '/system/manage/awards/update',
method: 'post',
data
})
return request({
url: '/system/manage/awards/update',
method: 'post',
data
})
}
//考核类型枚举列表下拉
// 考核类型枚举列表下拉
export function getRelationList(params) {
return request({
url: '/system/pub/enums/relation-type',
method: 'get',
params
})
return request({
url: '/system/pub/enums/relation-type',
method: 'get',
params
})
}
//级别配置-复购极差-获取复购极差列表
// 级别配置-复购极差-获取复购极差列表
export function getRangeList(params) {
return request({
url: '/system/manage/range/list',
method: 'get',
params
})
return request({
url: '/system/manage/range/list',
method: 'get',
params
})
}
//生成极差、添加
// 生成极差、添加
export function scRangeGenerate(data) {
return request({
url: '/system/manage/range/generate',
method: 'post',
data
})
return request({
url: '/system/manage/range/generate',
method: 'post',
data
})
}
//获取单条极差
// 获取单条极差
export function getOneManage(pkId) {
return request({
url: '/system/manage/range/getOne/' + pkId,
method: 'get',
})
return request({
url: '/system/manage/range/getOne/' + pkId,
method: 'get'
})
}
//删除极差列表
// 删除极差列表
export function deleteRange(pkId) {
return request({
url: '/system/manage/range/' + pkId,
method: 'delete',
})
return request({
url: '/system/manage/range/' + pkId,
method: 'delete'
})
}
//修改级差配置
// 修改级差配置
export function updateManage(data) {
return request({
url: '/system/manage/range/update',
method: 'post',
data
})
return request({
url: '/system/manage/range/update',
method: 'post',
data
})
}
//级别配置-配送中心-获取配送中心列表
export function getShopList(params) {
return request({
url: '/system/manage/shop/list',
method: 'get',
params
})
}
//配送中心-生成
export function scShopGenerate(data) {
return request({
url: '/system/manage/shop/generate',
method: 'post',
data
})
}
//获取单条配送中心配置
export function getshopOnelist(pkId) {
return request({
url: '/system/manage/shop/getOne/' + pkId,
method: 'get',
})
}
//删除配送中心
export function deleteShop(pkId) {
return request({
url: '/system/manage/shop/' + pkId,
method: 'delete',
})
}
//修改配送中心
export function updateShop(data) {
return request({
url: '/system/manage/shop/update',
method: 'post',
data
})
}
//等级启用禁用
// 等级启用禁用
export function updateStatusGrade(data) {
return request({
url: '/system/manage/grade/updateState',
method: 'post',
data
})
return request({
url: '/system/manage/grade/updateState',
method: 'post',
data
})
}
//配送中心启用禁用
export function updateStatusShop(data) {
return request({
url: '/system/manage/shop/updateState',
method: 'post',
data
})
}
//奖衔启用禁用
// 奖衔启用禁用
export function updateStatusAwards(data) {
return request({
url: '/system/manage/awards/updateState',
method: 'post',
data
})
return request({
url: '/system/manage/awards/updateState',
method: 'post',
data
})
}
//等级属性-等级枚举
// 等级属性-等级枚举
export function getGradeValueList(params) {
return request({
url: '/system/pub/enums/gradeList',
method: 'get',
params
})
return request({
url: '/system/pub/enums/gradeList',
method: 'get',
params
})
}
//奖衔属性-奖衔枚举
// 奖衔属性-奖衔枚举
export function getAwardsValueList(params) {
return request({
url: '/system/pub/enums/awardsList',
method: 'get',
params
})
return request({
url: '/system/pub/enums/awardsList',
method: 'get',
params
})
}
//极差属性
// 极差属性
export function getJcsxList(params) {
return request({
url: '/system/pub/enums/awardsAllList',
method: 'get',
params
})
}
return request({
url: '/system/pub/enums/awardsAllList',
method: 'get',
params
})
}

View File

@ -9,56 +9,56 @@ import request from '@/utils/request'
export function findAll() {
return request({
url: '/sale/manage/specsType/find-all',
method: 'get',
method: 'get'
})
}
// 查询所有规格jxc
export function findAllJxc() {
return request({
url: 'scm/manage/product-bas/find-all',
method: 'get',
method: 'get'
})
}
// 产品属性枚举
export function productType() {
return request({
url: '/system/pub/enums/get-product-attr-type',
method: 'get',
method: 'get'
})
}
// 发货类型
export function getShipping() {
return request({
url: '/system/pub/enums/get-shipping-channel',
method: 'get',
method: 'get'
})
}
// 单位
export function getUnit() {
return request({
url: '/system/pub/enums/get-unit',
method: 'get',
method: 'get'
})
}
// 销售模式
export function saleModel() {
return request({
url: 'system/pub/enums/sale-model',
method: 'get',
method: 'get'
})
}
// 所属分类
export function classifyAll() {
return request({
url: '/sale/manage/classify/find-all',
method: 'get',
method: 'get'
})
}
// 运输方式
export function transportType() {
return request({
url: '/system/pub/enums/manager-transport-type',
method: 'get',
method: 'get'
})
}
// 产品新增
@ -129,14 +129,14 @@ export function productListJxc(params) {
export function productDel(id) {
return request({
url: '/sale/manage/product/' + id,
method: 'delete',
method: 'delete'
})
}
// 删除产品jxc
export function productDelJxc(id) {
return request({
url: 'scm/manage/product-bas/' + id,
method: 'delete',
method: 'delete'
})
}
// 产品详情
@ -215,7 +215,7 @@ export function classifyUpdate(data) {
export function classifyDel(id) {
return request({
url: '/sale/manage/classify/' + id,
method: 'delete',
method: 'delete'
})
}
// 规格类型列表
@ -254,7 +254,7 @@ export function specsTypeUpdate(data) {
export function specsTypeDel(id) {
return request({
url: '/sale/manage/specsType/' + id,
method: 'delete',
method: 'delete'
})
}
// 导出产品分类
@ -285,7 +285,7 @@ export function areaClassIfyList(params) {
export function areaClassifyDel(id) {
return request({
url: '/sale/manage/area-classify/' + id,
method: 'delete',
method: 'delete'
})
}
@ -325,7 +325,7 @@ export function getAreaClassify(params) {
export function getEWaresPermissionTypeList() {
return request({
url: '/system/pub/enums/getEWaresPermissionTypeList',
method: 'get',
method: 'get'
})
}
// 根据id查询商品规格
@ -364,14 +364,14 @@ export function get_hierarchy_list(params) {
export function presale_status() {
return request({
url: '/system/pub/enums/presale-status',
method: 'get',
method: 'get'
})
}
// 查询供应方式
export function supply_way() {
return request({
url: '/system/pub/enums/supply-way',
method: 'get',
method: 'get'
})
}
// 标签分类
@ -424,7 +424,7 @@ export function waresList(params) {
export function waresDel(id) {
return request({
url: '/sale/manage/wares/' + id,
method: 'delete',
method: 'delete'
})
}
// 商品新增
@ -489,7 +489,7 @@ export function postageList(params) {
export function postageDel(id) {
return request({
url: '/sale/manage/postage/' + id,
method: 'delete',
method: 'delete'
})
}
// 计费方式
@ -520,7 +520,7 @@ export function findAllArea(params) {
export function orderType() {
return request({
url: '/system/pub/enums/special-area',
method: 'get',
method: 'get'
})
}
@ -548,7 +548,7 @@ export function postageDetail(params) {
params
})
}
//获取产品编号
// 获取产品编号
export function getProductCode(params) {
return request({
url: '/sale/manage/product/create-product-code',
@ -556,7 +556,7 @@ export function getProductCode(params) {
params
})
}
//获取产品编号
// 获取产品编号
export function getWaresCode(params) {
return request({
url: '/sale/manage/wares/create-wares-code',
@ -564,7 +564,7 @@ export function getWaresCode(params) {
params
})
}
//获取最大排序
// 获取最大排序
export function getMaxSort(params) {
return request({
url: '/sale/manage/product/get-max-sort',
@ -572,7 +572,7 @@ export function getMaxSort(params) {
params
})
}
//单位列表
// 单位列表
export function unitList(params) {
return request({
url: '/sale/manage/unit/list',
@ -580,7 +580,7 @@ export function unitList(params) {
params
})
}
//单位新增
// 单位新增
export function unitSave(data) {
return request({
url: '/sale/manage/unit/save',
@ -588,7 +588,7 @@ export function unitSave(data) {
data
})
}
//单位编辑
// 单位编辑
export function unitUpdate(data) {
return request({
url: '/sale/manage/unit/update',
@ -596,7 +596,7 @@ export function unitUpdate(data) {
data
})
}
//单位详情
// 单位详情
export function unitDetail(params) {
return request({
url: '/sale/manage/unit/detail',
@ -608,11 +608,11 @@ export function unitDetail(params) {
export function unitDel(id) {
return request({
url: '/sale/manage/unit/' + id,
method: 'delete',
method: 'delete'
})
}
//单位data
// 单位data
export function unitAll(params) {
return request({
url: '/sale/manage/unit/find-all',
@ -734,14 +734,7 @@ export function productFind(params) {
params
})
}
// 产品基本信息1
export function productFind1(params) {
return request({
url: 'scm/manage/product-bas/find-by-bas-all',
method: 'get',
params
})
}
// 供应商商品列表
export function thProductList(params) {
return request({

View File

@ -1713,13 +1713,6 @@ export const constantRoutes = [
component: () => import('@/views/configManage/level/fgjc'),
meta: { title: '复购极差' },
hidden: true
},
{
path: 'pszx',
name: 'DistributionCentre',
component: () => import('@/views/configManage/level/pszx'),
meta: { title: '配送中心' },
hidden: true
}
]

View File

@ -565,22 +565,7 @@ export default {
this.total = res.total
})
},
handleSelectionChange(val) {},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(function() {
return api.exportClassIfy(queryParams)
})
.then((response) => {
this.download(response)
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'

View File

@ -55,7 +55,7 @@
<div class="divBox">{{ '会员编号' }}</div>
<div class="divBox">{{ '会员姓名' }}</div>
<div class="divBox">{{ '注册等级' }}</div>
<div class="divBox">{{'真实奖衔'}}</div>
<div class="divBox">{{ '真实奖衔' }}</div>
</div>
<div v-for="item in memberList" style="display: flex">
<div class="divBox tops overflow1" :title="item.memberCode">{{ item.memberCode }}</div>
@ -66,15 +66,15 @@
<div />
</div>
<div style="display: flex;padding-bottom: 10px">
<el-radio v-model="table.sendScope" label="2" style="line-height: 40px">{{'订单短信'}}</el-radio>
<el-button size="small" style="background-color: #C8161D;color: #fff;font-size: 14px" @click="$router.push('/configManage/smsRecord/selectOrder')">{{'选择订单'}}</el-button>
<el-radio v-model="table.sendScope" label="2" style="line-height: 40px">{{ '订单短信' }}</el-radio>
<el-button size="small" style="background-color: #C8161D;color: #fff;font-size: 14px" @click="$router.push('/configManage/smsRecord/selectOrder')">{{ '选择订单' }}</el-button>
</div>
<div v-if="orderList!=null && orderList !== undefined && orderList.length> 0 " class="contents">
<div style="display: flex">
<div class="divBox">{{'订单编号'}}</div>
<div class="divBox">{{'产品名称'}}</div>
<div class="divBox">{{'收货人'}}</div>
<div class="divBox" style="width: 220px">{{'二次物流单号'}}</div>
<div class="divBox">{{ '订单编号' }}</div>
<div class="divBox">{{ '产品名称' }}</div>
<div class="divBox">{{ '收货人' }}</div>
<div class="divBox" style="width: 220px">{{ '二次物流单号' }}</div>
<div class="divBox">{{ '物流公司' }}</div>
</div>
<div v-for="item in orderList" style="display: flex">
@ -116,10 +116,10 @@
</el-form-item>
<el-form-item :label="'发送方式'" prop="templateContent">
<div>
<el-radio v-model="table.sendType" label="1">{{'立即发送'}}</el-radio>
<el-radio v-model="table.sendType" label="1">{{ '立即发送' }}</el-radio>
</div>
<div>
<el-radio v-model="table.sendType" label="2">{{'定时发送'}}</el-radio>
<el-radio v-model="table.sendType" label="2">{{ '定时发送' }}</el-radio>
<el-date-picker
v-model="table.sendTime"
type="datetime"
@ -172,7 +172,7 @@
size="small"
@click.native.prevent="selects(scope.row)"
>
{{'选择'}}
{{ '选择' }}
</el-button>
<el-button
v-if="scope.row.selcts==2"
@ -180,7 +180,7 @@
type="text"
size="small"
>
{{'已选择'}}
{{ '已选择' }}
</el-button>
</template>
</el-table-column>
@ -195,7 +195,7 @@
<div style="padding-top: 20px;display: flex;justify-content: center">
<el-button type="text" size="small" class="button-style" @click="handleClose"> {{ '取消' }}</el-button>
<el-button v-preventReClick="3000" type="text" size="small" class="button-style" style="margin-left: 40px;background-color: #C8161D;" @click="submitBtn()">
{{'确认'}}
{{ '确认' }}
</el-button>
</div>
</el-form>
@ -427,10 +427,6 @@ export default {
this.gradeRangList = res.data
})
},
addRules() {
this.types = 1
this.ruleShow = true
},
submit() {
this.ruleSubmit()
},
@ -438,23 +434,6 @@ export default {
//
this.ruleShow = false
},
updateShow(item) {
this.types = 2
//
this.formId = item.roleId
api.roleDetails(item.roleId).then((res) => {
if (res.code === 200) {
this.ruleShow = true
this.table = { 'roleName': res.data.roleName, 'roleSort': res.data.roleSort,
'roleKey': res.data.roleKey, 'status': res.data.status === 0 ? ['正常'] : ['停用'] }
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
},
delRole(item) {
//
this.$confirm('确认要删除该角色吗?', '提示', {
@ -486,20 +465,20 @@ export default {
})
return
}
if(this.memberList==null){
this.memberList=[]
if (this.memberList == null) {
this.memberList = []
}
if(this.orderList==null){
this.orderList=[]
if (this.orderList == null) {
this.orderList = []
}
console.error(this.memberList)
if (datas.sendScope == 1 && this.memberList.length==0) {
if (datas.sendScope == 1 && this.memberList.length == 0) {
Message({
message: '请选择指定会员'
})
return
}
if (datas.sendScope == 2 && this.orderList.length==0) {
if (datas.sendScope == 2 && this.orderList.length == 0) {
Message({
message: '请选择订单短信'
})

View File

@ -19,39 +19,39 @@
<el-col :span="4">
<el-form-item :label="'产品名称'">
<el-input
clearable
v-model="select.productName"
clearable
:placeholder="'请输入'"
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'产品编号'">
<el-input
clearable
v-model="select.productCode"
clearable
:placeholder="'请输入'"
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'追溯编号'">
<el-input
clearable
v-model="select.barCode"
clearable
:placeholder="'请输入'"
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'追溯状态'">
<el-select clearable v-model="select.codeStatus">
<el-select v-model="select.codeStatus" clearable>
<el-option
v-for="item in codeStatusList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -61,46 +61,42 @@
<el-form-item :label="'打印日期'">
<el-date-picker
v-model="creationTime2"
@change="changeTime2"
value-format="yyyy-MM-dd"
type="daterange"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
>
</el-date-picker>
@change="changeTime2"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'生成时间'">
<el-date-picker
v-model="creationTime1"
@change="changeTime1"
type="daterange"
value-format="yyyy-MM-dd"
:range-separator="'至'"
:start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"
>
</el-date-picker>
@change="changeTime1"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'追溯批次'">
<el-input
clearable
v-model="select.batch"
clearable
:placeholder="'请输入'"
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="4" style="margin-left: 30px">
<el-button class="my_search" @click="getDataList">
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reset">
{{ '重置' }}</el-button
>
{{ '重置' }}</el-button>
</el-col>
</el-row>
</el-form>
@ -111,12 +107,13 @@
</div> -->
<div class="maintop">
<div class="mainbtn">
<el-button size="small" @click="handleExport" class="exportBtn">
{{ '导出' }}</el-button
>
<el-button size="small" @click="handleExportDetail" class="exportBtn"
>导出明细</el-button
>
<el-button size="small" class="exportBtn" @click="handleExport">
{{ '导出' }}</el-button>
<el-button
size="small"
class="exportBtn"
@click="handleExportDetail"
>导出明细</el-button>
</div>
</div>
<div class="maintable">
@ -128,21 +125,18 @@
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column type="selection" width="55" />
<el-table-column
align="center"
prop="productCode"
:label="'产品编号'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="productName"
:label="'产品名称'"
>
</el-table-column>
<el-table-column align="center" prop="barCode" :label="'追溯编号'">
</el-table-column>
/>
<el-table-column align="center" prop="barCode" :label="'追溯编号'" />
<el-table-column
align="center"
prop="codeStatus"
@ -150,8 +144,8 @@
>
<template slot-scope="scope">
<div
v-if="scope.row.codeStatus == item.val"
v-for="item in codeStatusList"
v-if="scope.row.codeStatus == item.val"
:key="item.val"
>
{{ item.text }}
@ -162,20 +156,17 @@
align="center"
prop="batch"
:label="'追溯批次'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="printTime"
:label="'打印日期'"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="creationTime"
:label="'生成时间'"
>
</el-table-column>
/>
</el-table>
</div>
</div>
@ -190,37 +181,37 @@
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/configManage.js";
import { accountSave, accountUpdate } from "@/api/configManage";
import { getToken } from "@/utils/auth";
import { specialArea } from "@/api/configManage";
import topBar from '@/components/topBar'
import * as api from '@/api/configManage.js'
import { accountSave, accountUpdate } from '@/api/configManage'
import { getToken } from '@/utils/auth'
import { specialArea } from '@/api/configManage'
export default {
name: "ProductList",
name: 'ProductList',
components: {
topBar,
topBar
},
filters: {
isAgree(val) {
if (!val) {
return '允许';
return '允许'
} else {
return '禁止';
return '禁止'
}
},
}
},
data() {
return {
//
isActive: false,
select: { pkBarCode: "" },
select: { pkBarCode: '' },
//
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
addOrEdit: "",
addOrEdit: '',
total: 0,
tableData: [],
@ -228,173 +219,143 @@ export default {
codeStatusList: [
{
text: '已生成',
val: 1,
val: 1
},
{
text: '会员级',
val: 2,
val: 2
},
{
text: '会员级',
val: 3,
},
val: 3
}
],
form: {},
creationTime1: [],
creationTime2: [],
isCopy: false,
selPkId: "",
selPkId: '',
//
presaleList: [],
//
//
gyList: [],
//
//
hierarchyList: [],
//
areaList: [],
};
areaList: []
}
},
mounted() {
this.select.pkBarCode = this.$route.query.id;
this.select.pkBarCodeId = this.$route.query.id;
this.select.pkBarCode = this.$route.query.id
this.select.pkBarCodeId = this.$route.query.id
//
this.getDataList();
this.getDataList()
},
methods: {
reset() {
this.select = {
pkBarCode: this.$route.query.id,
pkBarCodeId: this.$route.query.id,
};
this.creationTime1 = [];
this.creationTime2 = [];
this.getDataList();
pkBarCodeId: this.$route.query.id
}
this.creationTime1 = []
this.creationTime2 = []
this.getDataList()
},
changeTime1(val) {
this.select.startDate = val[0];
this.select.endDate = val[1];
this.select.startDate = val[0]
this.select.endDate = val[1]
},
changeTime2(val) {
this.select.startDatePrint = val[0];
this.select.endDatePrint = val[1];
this.select.startDatePrint = val[0]
this.select.endDatePrint = val[1]
},
//
changeActive() {
this.isActive = !this.isActive;
this.isActive = !this.isActive
},
/** 导出按钮操作 */
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/system/manage/bar-code-items/printTxm",
'/system/manage/bar-code-items/printTxm',
Object.assign({}, this.queryParams, this.select),
`${'条形码明细'}${new Date().getTime()}.pdf`
);
)
// api.printTxm(Object.assign({}, this.queryParams, this.select)).then(res=>{
// console.log('%c [ res ]-267', 'font-size:13px; background:#9fe869; color:#e3ffad;', res)
// })
});
})
},
handleExportDetail() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/system/manage/bar-code-items/export",
'/system/manage/bar-code-items/export',
Object.assign({}, this.queryParams, this.select),
`${'条形码明细'}${new Date().getTime()}.xlsx`
);
)
// api.printTxm(Object.assign({}, this.queryParams, this.select)).then(res=>{
// console.log('%c [ res ]-267', 'font-size:13px; background:#9fe869; color:#e3ffad;', res)
// })
});
},
//
handleDelete(id) {
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then(() => {
api.waresDel(id).then((res) => {
//
this.getDataList();
});
});
})
},
openDig() {
this.$router.push({
path: "/goodsManage/goodsRelease/jcsz",
});
path: '/goodsManage/goodsRelease/jcsz'
})
},
// 01,2
toChecked(id, index) {
this.$router.push({
path: "/goodsManage/goodsList/goodsEdit/jcsz",
path: '/goodsManage/goodsList/goodsEdit/jcsz',
query: {
id: id,
methods: index,
},
});
},
upEdit(id, index) {
api
.waresMove({
waresId: id,
waresMoveType: index,
})
.then((res) => {
this.getDataList();
});
},
topEdit(id) {
api
.waresTop({
waresId: id,
})
.then((res) => {
this.getDataList();
});
methods: index
}
})
},
//
getDataList() {
api
.bd_bar_codeItem(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
});
this.tableData = res.rows
this.total = res.total
})
},
toCopy() {
this.toChecked(this.selPkId, 2);
this.toChecked(this.selPkId, 2)
},
handleSelectionChange(val) {
this.selPkId = val[0].pkWares;
this.selPkId = val[0].pkWares
if (val.length > 1) {
this.isCopy = true;
this.isCopy = true
} else {
this.isCopy = false;
this.isCopy = false
}
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style scoped lang="scss">
::v-deep .el-table .warning-row {

View File

@ -2,79 +2,73 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button size="mini" class="thebtn1" @click="adddate"
>{{'添加'}}</el-button
>
<el-button
size="mini"
class="thebtn1"
@click="adddate"
>{{ '添加' }}</el-button>
<el-button size="mini" class="thebtn2"> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
v-loading="loading"
height="750px"
:data="tableData"
v-loading="loading"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="111"> </el-table-column>
<el-table-column prop="rangeName" :label="'极差名称'" width="300">
</el-table-column>
<el-table-column prop="moneyRatio" :label="'金额比例'">
</el-table-column>
<el-table-column prop="achieveRatio" :label="'业绩比例'">
</el-table-column>
<el-table-column type="selection" width="111" />
<el-table-column prop="rangeName" :label="'极差名称'" width="300" />
<el-table-column prop="moneyRatio" :label="'金额比例'" />
<el-table-column prop="achieveRatio" :label="'业绩比例'" />
<el-table-column
align="center"
prop="rangeValueVal"
:label="'极差属性'"
width="120px"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="anames"
:label="'注册等级'"
width="300"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="dnames"
:label="'真实奖衔'"
width="auto"
>
</el-table-column>
/>
<el-table-column align="center" prop="time" :label="'操作'" width="200">
<template slot-scope="scope">
<el-button
@click.native.prevent="update(scope.row, tableData)"
type="text"
size="small"
class="button-s"
style="color: #4391fd"
@click.native.prevent="update(scope.row, tableData)"
>
{{'修改'}}
{{ '修改' }}
</el-button>
<el-button
@click.native.prevent="deleteRow(scope.row, tableData)"
type="text"
class="button-s"
size="small"
style="color: #c73030"
@click.native.prevent="deleteRow(scope.row, tableData)"
>
{{'删除'}}
{{ '删除' }}
</el-button>
</template>
</el-table-column>
@ -100,17 +94,17 @@
<el-row>
<el-form-item :label="'极差名称'" prop="rangeName">
<el-input
clearable
v-model="form.rangeName"
clearable
placeholder=""
></el-input>
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="'极差属性'" prop="rangeValue">
<el-select
clearable
v-model="form.rangeValue"
clearable
placeholder=""
>
<el-option
@ -118,7 +112,7 @@
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-row>
@ -126,8 +120,8 @@
<el-col :span="12">
<el-form-item :label="'金额比例'" prop="moneyRatio">
<el-input
clearable
v-model="form.moneyRatio"
clearable
:placeholder="'请输入'"
>
<i slot="suffix" class="neibu">%</i>
@ -137,8 +131,8 @@
<el-col :span="12">
<el-form-item :label="'业绩比例'" prop="achieveRatio">
<el-input
clearable
v-model="form.achieveRatio"
clearable
:placeholder="'请输入'"
>
<i slot="suffix" class="neibu">%</i>
@ -154,8 +148,7 @@
v-for="item in gradeChioseList"
:key="item.pkId"
:label="item.pkId"
>{{ item.gradeName }}</el-checkbox
>
>{{ item.gradeName }}</el-checkbox>
</el-checkbox-group>
<!-- 奖衔 -->
<el-checkbox-group v-model="form.awardsList">
@ -163,27 +156,25 @@
v-for="item in awardsChioseList"
:key="item.pkId"
:label="item.pkId"
>{{ item.awardsName }}</el-checkbox
>
>{{ item.awardsName }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="cancels" @click="handleClose">{{'取消'}}</el-button>
<el-button class="cancels" @click="handleClose">{{ '取消' }}</el-button>
<el-button
class="submit"
style="margin-left: 40px"
@click="onSubmit('form')"
>{{'确认'}}</el-button
>
>{{ '确认' }}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import topBar from '@/components/topBar'
import {
getRangeList,
deleteRange,
@ -193,98 +184,95 @@ import {
updateManage,
scRangeGenerate,
getJcsxList
} from "@/api/level";
} from '@/api/level'
export default {
name: "Fgjc",
name: 'Fgjc',
components: {
topBar,
topBar
},
data() {
return {
moren: "fgjc",
moren: 'fgjc',
topList: [
{
name: '等级配置',
path: "level",
path: 'level'
},
{
name: '奖衔配置',
path: "jxpz",
path: 'jxpz'
},
{
name: '复购极差',
path: "fgjc",
},
{
name: '配送中心',
path: "pszx",
},
path: 'fgjc'
}
],
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
total: 0,
multipleSelection: [],
tableData: [],
loading:false,
loading: false,
form: {
rangeName: "",
rangeName: '',
gradeList: [],
awardsList: [],
moneyRatio: "",
achieveRatio: "",
rangeValue:""
moneyRatio: '',
achieveRatio: '',
rangeValue: ''
},
rules: {
moneyRatio: [
{ required: true, message: "请输入金额比例", trigger: "blur" },
{ required: true, message: '请输入金额比例', trigger: 'blur' }
],
achieveRatio: [
{ required: true, message: "请输入业绩比例", trigger: "blur" },
{ required: true, message: '请输入业绩比例', trigger: 'blur' }
],
rangeName: [
{ required: true, message: "请输入奖衔名称", trigger: "blur" },
{ required: true, message: '请输入奖衔名称', trigger: 'blur' }
],
rangeValue: [
{ required: true, message: "请选择极差属性", trigger: "change" },
],
{ required: true, message: '请选择极差属性', trigger: 'change' }
]
},
awardsChioseList: [],
gradeChioseList: [],
updateShow: false,
dialogTitle: "",
addEdit: "",
awardsValueList:[]
};
dialogTitle: '',
addEdit: '',
awardsValueList: []
}
},
created() {
this.getRangeList();
this.getRangeList()
this.getOthers()
},
methods: {
//
//
adddate() {
this.dialogTitle = '添加';
this.updateShow = true;
this.addEdit = 1;
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
this.dialogTitle = '添加'
this.updateShow = true
this.addEdit = 1
this.$refs['form'].clearValidate()
this.$refs['form'].resetFields()
// scRangeGenerate({}).then(res=>{
// if (res.code == 200) {
// this.getRangeList();
// }
// })
},
//
//
update(row) {
this.dialogTitle = '修改';
this.addEdit = 2;
this.updateShow = true;
this.dialogTitle = '修改'
this.addEdit = 2
this.updateShow = true
getOneManage(row.pkId).then((res) => {
this.form = res.data;
});
this.form = res.data
})
},
//
onSubmit(formName) {
@ -295,106 +283,106 @@ export default {
this.form.awardsList.length == 0
) {
this.$message({
message: "请至少选择一个等级或奖衔",
type: "warning",
});
message: '请至少选择一个等级或奖衔',
type: 'warning'
})
} else {
let url = "";
let url = ''
if (this.addEdit == 1) {
//
url = scRangeGenerate;
//
url = scRangeGenerate
} else {
//
url = updateManage;
//
url = updateManage
}
//
//
url(this.form).then((res) => {
if (res.code == 200) {
this.updateShow = false;
this.updateShow = false
this.$message({
message: res.msg,
type: "success",
});
this.getRangeList();
this.addEdit = "";
type: 'success'
})
this.getRangeList()
this.addEdit = ''
}
});
})
}
} else {
return false;
return false
}
});
})
},
getOthers() {
getAwardsListChiose().then((res) => {
this.awardsChioseList = res.rows;
});
this.awardsChioseList = res.rows
})
getgradeRanglist().then((res) => {
this.gradeChioseList = res.data;
});
getJcsxList().then(res=>{
this.gradeChioseList = res.data
})
getJcsxList().then(res => {
this.awardsValueList = res.data
})
},
//
//
getRangeList() {
this.loading = true
getRangeList(this.queryParams).then((res) => {
res.rows.forEach((element) => {
element.bnames = [];
element.anames = "";
element.bnames = []
element.anames = ''
element.rangeDetailsGrade.forEach((item) => {
element.bnames.push(item.pkGradeVal);
const str = element.bnames.join("/");
element.anames = str;
});
element.cnames = [];
element.dnames = "";
element.bnames.push(item.pkGradeVal)
const str = element.bnames.join('/')
element.anames = str
})
element.cnames = []
element.dnames = ''
element.rangeDetailsAward.forEach((item) => {
element.cnames.push(item.pkAwardVal);
const str2 = element.cnames.join("/");
element.dnames = str2;
});
});
this.tableData = res.rows;
this.total = res.total;
element.cnames.push(item.pkAwardVal)
const str2 = element.cnames.join('/')
element.dnames = str2
})
})
this.tableData = res.rows
this.total = res.total
this.loading = false
});
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
//
//
deleteRow(row, item) {
this.$confirm('确定删除?').then((_) => {
deleteRange(row.pkId).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.getRangeList();
type: 'success'
})
this.getRangeList()
}
});
});
})
})
},
//
//
handleClose() {
this.updateShow = false;
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
this.updateShow = false
this.$refs['form'].clearValidate()
this.$refs['form'].resetFields()
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style lang="scss" scoped>

View File

@ -2,40 +2,40 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button class="thebtn1" @click="adddate()">{{'添加'}}</el-button>
<el-button class="thebtn1" @click="adddate()">{{ '添加' }}</el-button>
<el-button class="thebtn2"> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
height="750px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column type="selection" width="55" />
<el-table-column align="center" prop="" :label="'图片'" width="180">
<template slot-scope="scope">
<img
style="width: 44px; height: 44px"
:src="scope.row.image"
alt=""
/>
>
</template>
</el-table-column>
<el-table-column align="center" prop="jxmc" :label="'国家'" width="180">
<template slot-scope="scope">
<div class="tem">
<img :src="scope.row.nationalFlag2" alt="" />
<img :src="scope.row.nationalFlag2" alt="">
<div>{{ scope.row.pkCountryName }}</div>
</div>
</template>
@ -45,26 +45,20 @@
prop="gradeName"
:label="'注册等级'"
width="180"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="censusValueVal"
:label="'统计类型'"
>
</el-table-column>
<el-table-column align="center" prop="startValue" :label="'统计数值'">
</el-table-column>
/>
<el-table-column align="center" prop="startValue" :label="'统计数值'" />
<el-table-column
align="center"
prop="registerAuthorityVal"
:label="'注册权限'"
>
</el-table-column>
<el-table-column align="center" prop="pkAwardsVal" :label="'真实奖衔'">
</el-table-column>
<el-table-column align="center" prop="anames" :label="'直推范围'">
</el-table-column>
/>
<el-table-column align="center" prop="pkAwardsVal" :label="'真实奖衔'" />
<el-table-column align="center" prop="anames" :label="'直推范围'" />
<el-table-column
align="center"
prop="time"
@ -73,20 +67,20 @@
>
<template slot-scope="scope">
<el-button
@click.native.prevent="update(scope.row, tableData)"
type="text"
size="small"
class="button-s"
style="color: #4391fd"
@click.native.prevent="update(scope.row, tableData)"
>
{{'修改'}}
{{ '修改' }}
</el-button>
<el-button
@click.native.prevent="updateState(scope.row, tableData)"
type="text"
size="small"
class="button-s"
style="color: #c73030"
@click.native.prevent="updateState(scope.row, tableData)"
>
<!-- 0启用1禁用 -->
{{ scope.row.enableState == 1 ? '启用' : '禁用' }}
@ -122,21 +116,21 @@
<el-col :span="10" style="margin-left: -50px">
<el-form-item :label="'注册等级'" prop="gradeName">
<el-input
clearable
v-model="form.gradeName"
clearable
placeholder=""
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item :label="'统计类型'" prop="censusValue">
<el-select clearable v-model="form.censusValue" placeholder="">
<el-select v-model="form.censusValue" clearable placeholder="">
<el-option
v-for="item in censusValueList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -145,21 +139,21 @@
<el-col :span="10" style="margin-left: -50px">
<el-form-item :label="'统计数值'" prop="startValue">
<el-input
clearable
v-model="form.startValue"
clearable
placeholder=""
></el-input>
/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item :label="'真实奖衔'" prop="pkAwards">
<el-select clearable v-model="form.pkAwards" placeholder="">
<el-select v-model="form.pkAwards" clearable placeholder="">
<el-option
v-for="item in pkAwardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -168,8 +162,8 @@
<el-col :span="10" style="margin-left: -50px">
<el-form-item :label="'注册权限'" prop="registerAuthority">
<el-select
clearable
v-model="form.registerAuthority"
clearable
placeholder=""
>
<el-option
@ -177,15 +171,15 @@
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" >
<el-form-item required label="等级属性" prop="gradeValue">
<el-col :span="10">
<el-form-item required label="等级属性" prop="gradeValue">
<el-select
clearable
v-model="form.gradeValue"
clearable
placeholder=""
>
<el-option
@ -193,21 +187,20 @@
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" >
<el-col :span="12">
<el-form-item :label="'直推范围'" prop="gradeRang">
<el-checkbox-group v-model="form.gradeRang">
<el-checkbox
v-for="item in gradeRangList"
:key="item.pkId"
:label="item.pkId"
>{{ item.gradeName }}</el-checkbox
>
>{{ item.gradeName }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
@ -225,27 +218,26 @@
</el-col>
<el-col :span="12">
<el-form-item label="颜色" prop="color">
<el-color-picker v-model="form.color"></el-color-picker>
<el-color-picker v-model="form.color" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="cancels" @click="handleClose">{{'取消'}}</el-button>
<el-button class="cancels" @click="handleClose">{{ '取消' }}</el-button>
<el-button
class="submit"
style="margin-left: 40px"
@click="onSubmit('form')"
>{{'确认'}}</el-button
>
>{{ '确认' }}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import ImageUpload from "@/components/ImageUpload";
import topBar from '@/components/topBar'
import ImageUpload from '@/components/ImageUpload'
import {
getGradeList,
getgradeRanglist,
@ -258,268 +250,265 @@ import {
saveGrade,
updateStatusGrade,
getGradeValueList
} from "@/api/level";
import { userCountryList } from "@/api/user";
} from '@/api/level'
import { userCountryList } from '@/api/user'
export default {
name: "Level",
name: 'Level',
components: {
topBar,
ImageUpload,
ImageUpload
},
data() {
return {
moren: "level",
moren: 'level',
topList: [
{
name: '等级配置',
path: "level",
path: 'level'
},
{
name: '奖衔配置',
path: "jxpz",
path: 'jxpz'
},
{
name: '复购极差',
path: "fgjc",
},
{
name: '配送中心',
path: "pszx",
},
path: 'fgjc'
}
],
multipleSelection: [],
//
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
tableData: [],
loading:false,
loading: false,
total: 0,
updateShow: false,
countryList: [], //
gradeValueList: [], //
pkAwardsList: [], //
censusValueList: [], //
registerAuthorityList: [], //
gradeRangList: [], //
gradeSxList:[],//
countryList: [], //
gradeValueList: [], //
pkAwardsList: [], //
censusValueList: [], //
registerAuthorityList: [], //
gradeRangList: [], //
gradeSxList: [], //
form: {
gradeName: "", //
censusValue: "", //
startValue: "", //,
pkAwards: "", //
registerAuthority: "", //
gradeRang: [], //
gradeValue:"",//
image:"",
icon:""
gradeName: '', //
censusValue: '', //
startValue: '', // ,
pkAwards: '', //
registerAuthority: '', //
gradeRang: [], //
gradeValue: '', //
image: '',
icon: ''
},
rules: {
gradeName: [
{ required: true, message: "请输入注册金额", trigger: "blur" },
{ required: true, message: '请输入注册金额', trigger: 'blur' }
],
censusValue: [
{ required: true, message: "请选择统计类型", trigger: "change" },
{ required: true, message: '请选择统计类型', trigger: 'change' }
],
startValue: [
{ required: true, message: "请输入注册金额", trigger: "blur" },
{ required: true, message: '请输入注册金额', trigger: 'blur' }
],
pkAwards: [
{ required: true, message: "请选择真实奖衔", trigger: "change" },
{ required: true, message: '请选择真实奖衔', trigger: 'change' }
],
registerAuthority: [
{ required: true, message: "请选择注册权限", trigger: "change" },
{ required: true, message: '请选择注册权限', trigger: 'change' }
],
image: [
{ required: true, message: '请上传图片', trigger: "change" },
{ required: true, message: '请上传图片', trigger: 'change' }
],
icon: [
{ required: true, message: '请上传图标', trigger: "change" },
],
{ required: true, message: '请上传图标', trigger: 'change' }
]
},
addEdit: "",
dialogTitle: "",
};
addEdit: '',
dialogTitle: ''
}
},
created() {
this.getGradeList();
this.getgradeRanglist();
this.getStatistical();
this.getRegistration();
this.getAwardsListChiose();
this.userCountryList();
this.getGradeList()
this.getgradeRanglist()
this.getStatistical()
this.getRegistration()
this.getAwardsListChiose()
this.userCountryList()
this.getGradeValueList()
},
methods: {
//
getGradeValueList(){
getGradeValueList().then(res=>{
//
getGradeValueList() {
getGradeValueList().then(res => {
this.gradeSxList = res.data
})
},
///
// /
updateState(row) {
this.$confirm('确认更改状态?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then(() => {
var thestate = "";
var thestate = ''
if (row.enableState == 0) {
thestate = 1;
thestate = 1
} else if (row.enableState == 1) {
thestate = 0;
thestate = 0
}
updateStatusGrade({ pkId: row.pkId, enableState: thestate }).then(
(res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
type: 'success'
})
//
}
this.getGradeList();
this.getGradeList()
}
);
});
)
})
},
//
//
userCountryList() {
userCountryList().then((res) => {
this.countryList = res.data;
});
this.countryList = res.data
})
},
//
//
getAwardsListChiose() {
getAwardsListChiose().then((res) => {
this.pkAwardsList = res.rows;
});
this.pkAwardsList = res.rows
})
},
handleClose() {
this.updateShow = false;
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
this.updateShow = false
this.$refs['form'].clearValidate()
this.$refs['form'].resetFields()
},
//
//
adddate() {
this.dialogTitle = '添加';
this.updateShow = true;
this.addEdit = 1;
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
this.dialogTitle = '添加'
this.updateShow = true
this.addEdit = 1
this.$refs['form'].clearValidate()
this.$refs['form'].resetFields()
},
//||
// ||
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let url = "";
let url = ''
if (this.addEdit == 1) {
//
url = saveGrade;
//
url = saveGrade
} else {
//
url = updateGrade;
//
url = updateGrade
}
url(this.form).then((res) => {
if (res.code == 200) {
this.updateShow = false;
this.updateShow = false
this.$message({
message: res.msg,
type: "success",
});
this.getGradeList();
this.addEdit = "";
type: 'success'
})
this.getGradeList()
this.addEdit = ''
}
});
})
} else {
return false;
return false
}
});
})
},
//
//
getStatistical() {
getStatistical().then((res) => {
this.censusValueList = res.data;
});
this.censusValueList = res.data
})
},
//
//
getRegistration() {
getRegistration().then((res) => {
this.registerAuthorityList = res.data;
});
this.registerAuthorityList = res.data
})
},
//&&
// &&
getgradeRanglist() {
getgradeRanglist().then((res) => {
this.gradeRangList = res.data;
this.gradeValueList = res.data;
});
this.gradeRangList = res.data
this.gradeValueList = res.data
})
},
//
//
getGradeList() {
this.loading = true
getGradeList(this.queryParams).then((res) => {
res.rows.forEach((element) => {
element.bnames = [];
element.anames = "";
element.bnames = []
element.anames = ''
element.gseList.forEach((item) => {
element.bnames.push(item.pkScopeVal);
const str = element.bnames.join("/");
element.anames = str;
});
element.bnames.push(item.pkScopeVal)
const str = element.bnames.join('/')
element.anames = str
})
this.countryList.forEach((child) => {
if (element.pkCountry == child.pkCountry) {
element.pkCountryName = child.name;
element.pkCountryIcon = child.nationalFlag2;
element.pkCountryName = child.name
element.pkCountryIcon = child.nationalFlag2
}
});
});
this.tableData = res.rows;
this.total = res.total;
})
})
this.tableData = res.rows
this.total = res.total
this.loading = false
});
})
},
//
//
update(row, item) {
this.dialogTitle = '修改';
this.updateShow = true;
this.addEdit = 2;
this.dialogTitle = '修改'
this.updateShow = true
this.addEdit = 2
getOnelist(row.pkId).then((res) => {
this.form = res.data;
});
this.form = res.data
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
//
//
deleteRow(row, item) {
this.$confirm('确定删除?').then((_) => {
deleteGrade(row.pkId).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.getGradeList();
type: 'success'
})
this.getGradeList()
}
});
});
})
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style lang="scss" scoped>

View File

@ -331,11 +331,8 @@ export default {
{
name: '复购极差',
path: 'fgjc'
},
{
name: '配送中心',
path: 'pszx'
}
],
queryParams: {
pageNum: 1,

View File

@ -1,528 +0,0 @@
<template>
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:moren="moren"
></topBar>
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button size="mini" class="thebtn1" @click="adddate"
>{{'添加'}}</el-button
>
<el-button size="mini" class="thebtn2"> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
height="750px"
:data="tableData"
v-loading="loading"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column align="center" prop="jxmc" :label="'国家'">
<template slot-scope="scope">
<div class="tem">
<img :src="scope.row.nationalFlag2" alt="" />
<!-- <div>{{ scope.row.pkCountryName }}</div> -->
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="shopName" :label="'配送等级'">
</el-table-column>
<el-table-column
align="center"
prop="registerValue"
:label="'注册金额'+'($)'"
>
<template slot-scope="scope">
{{ scope.row.registerValue|numberToCurrency }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="registerValueLocal"
:label="'注册金额'+'(¥)'"
>
<template slot-scope="scope">
{{ scope.row.registerValueLocal|numberToCurrency }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="censusValue"
:formatter="checkSticcal"
:label="'统计类型'"
>
</el-table-column>
<el-table-column
align="center"
prop="settleValue"
:label="'结算金额/业绩'"
>
<template slot-scope="scope">
{{ scope.row.settleValue|numberToCurrency }}
</template>
</el-table-column>
<el-table-column align="center" prop="deliveryFee" :label="'配送费' +'(%)' ">
</el-table-column>
<el-table-column align="center" prop="effectiveDate" :label="'生效日期'">
</el-table-column>
<el-table-column align="center" prop="creationTime" :label="'创建日期'">
</el-table-column>
<el-table-column align="center" prop="time" :label="'操作'" fixed="right" >
<template slot-scope="scope">
<el-button
@click.native.prevent="update(scope.row)"
type="text"
size="small"
style="color: #4391FD"
class="button-s"
>
{{'修改'}}
</el-button>
<el-button
@click.native.prevent="updateState(scope.row, tableData)"
type="text"
size="small"
class="button-s"
style="color: #c73030"
>
<!-- 0启用1禁用 -->
{{ scope.row.enableState == 1 ? '启用' : '禁用' }}
</el-button>
<!-- <el-button
class="button-s"
@click.native.prevent="deleteRow(scope.row)"
type="text"
size="small"
style="color: #c73030"
>
删除
</el-button> -->
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getShopList"
/>
<el-dialog
:close-on-click-modal="false"
:title="dialogTitle"
:visible.sync="updateShow"
width="37%"
center
:before-close="handleClose"
>
<el-form ref="form" :rules="rules" :model="form" label-width="120px" style="padding-bottom: 60px">
<el-row style="display: flex;justify-content: space-between">
<el-col :span="11" style="margin-left: -50px">
<el-form-item :label="'配送等级'" prop="shopName">
<el-input clearable
v-model="form.shopName"
placeholder=""
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item :label="'注册金额'+'($)'" prop="registerValue">
<el-input clearable
v-model="form.registerValue"
placeholder=""
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex;justify-content: space-between">
<el-col :span="11" style="margin-left: -50px">
<el-form-item :label="'统计类型'" prop="censusValue">
<el-select clearable
v-model="form.censusValue"
placeholder=""
>
<el-option
v-for="item in statisticalList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item :label="'结算金额/业绩'" prop="settleValue">
<el-input clearable
v-model="form.settleValue"
placeholder=""
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11" style="margin-left:-15px">
<el-form-item :label="'配送费' +'(%)' " prop="deliveryFee">
<el-input clearable
v-model="form.deliveryFee"
placeholder=""
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="23" style="margin-left: -15px">
<el-form-item :label="'生效日期'" prop="effectiveDate">
<el-date-picker
v-model="form.effectiveDate"
type="datetime"
placeholder=""
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="cancels" @click="handleClose">{{'取消'}}</el-button>
<el-button class="submit" style="margin-left: 40px" @click="onSubmit('form')">{{'确认'}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import topBar from "@/components/topBar";
import {
getShopList,
getshopOnelist,
deleteShop,
scShopGenerate,
getStatistical,
updateShop,
updateStatusShop
} from "@/api/level";
import { userCountryList } from "@/api/user";
export default {
name: "Pszx",
components: {
topBar,
},
data() {
return {
moren: "pszx",
topList: [
{
name: '等级配置',
path: "level",
},
{
name: '奖衔配置',
path: "jxpz",
},
{
name: '复购极差',
path: "fgjc",
},
{
name: '配送中心',
path: "pszx",
},
],
multipleSelection: [],
tableData: [],
loading:false,
queryParams: {
pageNum: 1,
pageSize: 50,
},
total: 0,
updateShow: false,
form: {
shopName: "", //
registerValue: "", //
censusValue: "", //
settleValue: "", ///
deliveryFee: "", //
effectiveDate: "", //
},
statisticalList: [], //
countryList: [], //
rules: {
shopName: [
{ required: true, message: "请输入配送等级", trigger: "blur" },
],
registerValue: [
{ required: true, message: "请输入注册金额", trigger: "blur" },
],
censusValue: [
{ required: true, message: "请选择统计类型", trigger: "change" },
],
settleValue: [
{ required: true, message: "请输入结算金额/业绩", trigger: "blur" },
],
deliveryFee: [
{ required: true, message: "请输入配送费", trigger: "blur" },
],
effectiveDate: [
{
type: "string",
required: true,
message: '请选择时间',
trigger: "change",
},
],
},
dialogTitle:"",
addEdit:""
};
},
created() {
this.getShopList();
this.getStatistical();
this.userCountryList()
},
methods: {
///
updateState(row) {
this.$confirm('确认更改状态?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then(() => {
var thestate = "";
if (row.enableState == 0) {
thestate = 1;
} else if (row.enableState == 1) {
thestate = 0;
}
updateStatusShop({pkId:row.pkId, enableState:thestate}).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
//
this.getShopList()
}
});
});
},
//
userCountryList() {
userCountryList().then((res) => {
this.countryList = res.data;
});
},
//
adddate() {
this.dialogTitle = '添加'
this.updateShow = true;
this.addEdit = 1
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
// scShopGenerate({}).then((res) => {
// if (res.code == 200) {
// this.getShopList();
// }
// });
},
//
getStatistical() {
getStatistical().then((res) => {
this.statisticalList = res.data;
});
},
//
checkSticcal(row) {
let stical = "";
if (this.statisticalList) {
this.statisticalList.map((element) => {
if (row.censusValue == element.value) {
stical = element.label;
}
});
}
return stical;
},
//
update(row) {
this.dialogTitle = '修改'
this.addEdit = 2
this.updateShow = true;
getshopOnelist(row.pkId).then((res) => {
this.form = res.data;
});
},
handleClose() {
this.updateShow = false;
this.$refs["form"].clearValidate();
this.$refs["form"].resetFields();
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let url = ""
if (this.addEdit == 1) {
//
url = scShopGenerate
}else{
//
url = updateShop
}
url(this.form).then((res) => {
if (res.code == 200) {
this.updateShow = false;
this.$message({
message: res.msg,
type: "success",
});
this.getShopList();
this.addEdit = ""
}
});
} else {
return false;
}
});
},
//
getShopList() {
this.loading = true
getShopList(this.queryParams).then((res) => {
this.total = res.total;
res.rows.forEach((element) => {
this.countryList.forEach((child) => {
if (element.pkCountry == child.pkCountry) {
element.pkCountryName = child.name;
element.pkCountryIcon = child.nationalFlag2;
}
});
})
this.tableData = res.rows;
this.loading = false
});
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
//
deleteRow(row) {
this.$confirm('确定删除?').then((_) => {
deleteShop(row.pkId).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.getShopList();
}
});
});
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
} else if (rowIndex % 2 == 0) {
return "success-row";
}
return "";
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-date-editor.el-input, .el-date-editor.el-input__inner{
width: 100%;
}
.button-s{
padding: 3px 0;
}
::v-deep .el-select{
width: 100%;
}
.submit{
width: 209px;
height: 48px;
background: #c8161d;
border-radius: 5px;
color: #fff;
font-size: 18px;
border-color: #c8161d;
margin-left: 20px;
}
.cancels{
width: 209px;
height: 48px;
background: #CCCCCC;
border-radius: 5px;
color: #fff;
font-size: 18px;
border-color: #ccc;
}
::v-deep .el-table .warning-row {
background: #f9f9f9;
}
::v-deep .el-table .success-row {
background: #ffffff;
}
::v-deep .el-table thead {
color: #000000;
}
.tem {
display: flex;
align-items: center;
justify-content: center;
img {
width: 28px;
height: 20px;
margin-right: 3px;
}
}
.page {
padding: 10px 20px;
background: #f9f9f9;
font-size: 14px;
.main {
//margin-top: 20px;
//background: #ffffff;
//border-radius: 8px;
//box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
background: #f9f9f9;
.maintop {
display: flex;
// padding: 10px 0;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
color: #ffffff;
background: #3181e5;
}
.thebtn2 {
color: #ffffff;
background: #ffad41;
}
}
}
}
}
</style>

View File

@ -40,7 +40,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="'详细地址'" prop="pkAwards">
<el-form-item :label="'详细地址'" prop="pkAwards">
<el-cascader
v-model="queryParams.changeAreaList"
style="width: 100%"
@ -68,8 +68,8 @@
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button size="small" @click="handleImport" style="background-color: #008077" class="thebtn1"> {{ '导入' }}</el-button>
<el-button size="small" @click="importTemplate" style="background-color: #009B58" class="thebtn1"> {{ '下载模板' }}</el-button>
<el-button size="small" style="background-color: #008077" class="thebtn1" @click="handleImport"> {{ '导入' }}</el-button>
<el-button size="small" style="background-color: #009B58" class="thebtn1" @click="importTemplate"> {{ '下载模板' }}</el-button>
</div>
</div>
<div class="maintable">
@ -92,62 +92,13 @@
<el-table-column align="center" prop="recProvinceVal" :label="'省'" />
<el-table-column align="center" prop="recCityVal" :label="'市'" />
<el-table-column align="center" prop="recCountyVal" :label="'区/县'" />
<el-table-column align="center" prop="recAddress" :label="'详细地址'" />
<el-table-column align="center" prop="recAddress" :label="'详细地址'" />
<el-table-column align="center" prop="logisticsCode" :label="'二次物流单号'" />
<el-table-column align="center" prop="logisticsCompany" label="二次物流公司" />
</el-table>
</div>
</div>
<el-dialog
:title="'添加'"
:visible.sync="ruleShow"
width="50%"
center
:close-on-click-modal="false"
:before-close="handleClose"
>
<el-form ref="forms" :rules="rules" :model="table" label-width="80px">
<el-form-item :label="'角色姓名'" prop="roleName">
<el-input
v-model="table.roleName"
clearable
:placeholder="'请输入'"
/>
</el-form-item>
<el-form-item :label="'显示排序'" prop="roleSort">
<el-input
v-model="table.roleSort"
type="number"
clearable
:placeholder="'请输入'"
/>
</el-form-item>
<el-form-item :label="'权限字符'" prop="roleKey">
<el-input
v-model="table.roleKey"
clearable
:placeholder="'请输入'"
/>
</el-form-item>
<el-form-item :label="'状态'" prop="status">
<el-checkbox-group v-model="table.status" @change="statusChange">
<el-checkbox
v-for="(item, index) in statusList"
:key="index"
:label="item.name"
name="type"
/>
</el-checkbox-group>
</el-form-item>
<div style="padding-top: 100px;display: flex;justify-content: center">
<el-button type="text" size="small" class="button-style" @click="handleClose"> {{ '取消' }}</el-button>
<el-button v-preventReClick="3000" type="text" size="small" class="button-style" style="margin-left: 40px;background-color: #48B2FD;" @click="submitBtn()">
{{ '确认' }}
</el-button>
</div>
</el-form>
</el-dialog>
<pagination
v-show="total > 0"
:total="total"
@ -188,23 +139,25 @@
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<i class="el-icon-upload" />
<div class="el-upload__text">
{{'将文件拖到此处,或'}}
<em>{{'点击上传'}}</em>
{{ '将文件拖到此处,或' }}
<em>{{ '点击上传' }}</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-link type="info" style="font-size: 12px" @click="importTemplate"
> {{ '下载模板' }}</el-link
>
<div slot="tip" class="el-upload__tip">
<el-link
type="info"
style="font-size: 12px"
@click="importTemplate"
> {{ '下载模板' }}</el-link>
</div>
<div class="el-upload__tip" style="color: red" slot="tip">
{{'提示仅允许导入“xls”或“xlsx”格式文件'}}
<div slot="tip" class="el-upload__tip" style="color: red">
{{ '提示仅允许导入“xls”或“xlsx”格式文件' }}
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm">{{'确认'}}</el-button>
<el-button @click="upload.open = false">{{'取消'}}</el-button>
<el-button type="primary" @click="submitFileForm">{{ '确认' }}</el-button>
<el-button @click="upload.open = false">{{ '取消' }}</el-button>
</div>
</el-dialog>
</div>
@ -218,7 +171,7 @@ import { getgradeRanglist, getAwardsListChiose } from '@/api/level'
import * as api from '@/api/sms'
import { Message } from 'element-ui'
import { deleteAgreement } from '@/api/configManage'
import {getToken} from "@/utils/auth";
import { getToken } from '@/utils/auth'
export default {
name: 'Qxpz',
components: {
@ -289,19 +242,19 @@ export default {
//
open: false,
//
title: "",
title: '',
//
isUploading: false,
//
updateSupport: 0,
//
headers: { Authorization: "Bearer " + getToken() },
headers: { Authorization: 'Bearer ' + getToken() },
//
url:
process.env.VUE_APP_BASE_API +
"/sale/manage/order/order-select-import",
'/sale/manage/order/order-select-import'
},
changeMemberTable: [],
changeMemberTable: []
}
},
created() {
@ -312,44 +265,44 @@ export default {
methods: {
/** 导入按钮操作 */
handleImport() {
this.upload.title = "选择订单导入";
this.upload.open = true;
this.upload.title = '选择订单导入'
this.upload.open = true
},
//
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
this.upload.isUploading = true
},
//
handleFileSuccess(response, file, fileList) {
var fileName = response.fileName;
if (fileName != undefined && fileName != "") {
var fileName = response.fileName
if (fileName != undefined && fileName != '') {
}
if (response.code == 200) {
this.changeMemberTable = response.data;
this.changeMemberTable = response.data
}
this.upload.open = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
this.$alert(response.msg, '导入结果', { dangerouslyUseHTMLString: true });
this.upload.open = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert(response.msg, '导入结果', { dangerouslyUseHTMLString: true })
// this.getList();
},
//
handleExceed() {
this.upload.isUploading = false;
this.msgInfo('仅可上传一个文件哦');
this.upload.isUploading = false
this.msgInfo('仅可上传一个文件哦')
},
//
submitFileForm() {
this.$refs.upload.submit();
this.$refs.upload.submit()
},
//
//
importTemplate() {
this.download(
"/sale/manage/order/order-select-template",
'/sale/manage/order/order-select-template',
{},
`${'选择订单'}-${new Date().getTime()}.xlsx`
);
)
},
handleChange1(res) {
this.queryParams.recProvince = res[0]
@ -386,10 +339,7 @@ export default {
this.gradeRangList = res.data
})
},
addRules() {
this.types = 1
this.ruleShow = true
},
submit() {
const section = this.$refs.multipleTable.selection
if (section.length == 0) {
@ -401,131 +351,11 @@ export default {
localStorage.setItem('orderList', JSON.stringify(section))
this.$router.push('/configManage/smsRecord/addSms?status=1&state=1')
},
submitBtn() {
//
this.ruleSubmit()
},
updateShow(item) {
this.types = 2
//
this.formId = item.roleId
api.roleDetails(item.roleId).then((res) => {
if (res.code === 200) {
this.ruleShow = true
this.table = { 'roleName': res.data.roleName, 'roleSort': res.data.roleSort,
'roleKey': res.data.roleKey, 'status': res.data.status === 0 ? ['正常'] : ['停用'] }
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
},
delRole(item) {
//
this.$confirm('确认要删除该角色吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
api.delRole(item.roleId).then((res) => {
if (res.code === 200) {
Message({
message: '删除成功',
type: 'success'
})
this.research()
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
})
},
ruleSubmit() {
const datas = this.table
const that = this
this.$refs['forms'].validate(valid => {
if (!valid) {
return false
} else {
if (this.types === 1) {
if (datas.status[0] === '正常') {
datas.status = ''
datas.status = 0
} else if (datas.status[0] === '停用') {
datas.status = ''
datas.status = 1
}
api.addRole(datas).then((res) => {
if (res.code === 200) {
Message({
message: '添加成功',
type: 'success'
})
that.ruleShow = false
that.table = { 'roleName': '', 'roleSort': '', 'roleKey': '', 'status': ['正常'] }
that.research()
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
}
if (this.types === 2) {
if (datas.status[0] === '正常') {
datas.status = ''
datas.status = 0
} else if (datas.status[0] === '停用') {
datas.status = ''
datas.status = 1
}
datas.roleId = this.formId
api.putRole(datas).then((res) => {
if (res.code === 200) {
Message({
message: '修改成功',
type: 'success'
})
that.ruleShow = false
that.table = { 'roleName': '', 'roleSort': '', 'roleKey': '', 'status': ['正常'] }
that.research()
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
}
}
})
},
statusChange(value) {
if (this.table.status.length > 1) {
this.table.status.splice(0, 1)
}
},
handleClose() {
this.ruleShow = false
this.table = { 'ruleName': '', 'sort': '', 'ruleStr': '', 'status': ['正常'] }
},
changeBox(row) {
console.error(row)
},
addFrom() {
},
addRule() {
},
changeTime(value) {
// this.queryParams.creationTime = value[0]
// this.queryParams.endCreationTime = value[1]
},
handleChangeMunu(value) {
console.log('🌈', value[value.length - 1])
this.queryParams.menuId = value[value.length - 1]

View File

@ -73,13 +73,13 @@
<div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button @click="exports" style="background-color: #FFAD41" class="thebtn1"> {{ '导出' }}</el-button>
<el-button style="background-color: #FFAD41" class="thebtn1" @click="exports"> {{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
height="690px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
@ -93,7 +93,7 @@
<el-table-column align="center" prop="templateCode" :label="'短信编号'" />
<el-table-column align="center" prop="templateName" :label="'短信标题'" />
<el-table-column align="center" :show-overflow-tooltip="true" prop="content" label="短信内容" />
<el-table-column align="center" prop="sendStatusVal" :label="'发送方式'"/>
<el-table-column align="center" prop="sendStatusVal" :label="'发送方式'" />
<el-table-column align="center" prop="sendTypeVal" :label="'发送状态'" />
<el-table-column align="center" prop="modifiedTime" :label="'发送时间'" />
</el-table>
@ -223,7 +223,7 @@ export default {
statusList1: [{ 'name': '未发送', 'id': '0' }, { 'name': '已发送', 'id': '1' }],
menuOptions: [],
tableData: [],
loading:false,
loading: false,
total: 0,
types: '',
formId: ''
@ -235,7 +235,7 @@ export default {
methods: {
exports() {
this.download(
"/sms/manage/sms-record/export",
'/sms/manage/sms-record/export',
{ ...this.queryParams },
`发送记录-${new Date().getTime()}.xlsx`
)
@ -248,23 +248,7 @@ export default {
//
this.ruleSubmit()
},
updateShow(item) {
this.types = 2
//
this.formId = item.roleId
api.roleDetails(item.roleId).then((res) => {
if (res.code === 200) {
this.ruleShow = true
this.table = { 'roleName': res.data.roleName, 'roleSort': res.data.roleSort,
'roleKey': res.data.roleKey, 'status': res.data.status === 0 ? ['正常'] : ['停用'] }
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
},
delRole(item) {
//
this.$confirm('确认要删除该角色吗?', '提示', {

View File

@ -56,13 +56,13 @@
style="background-color: #48B2FD"
class="thebtn1"
@click="$router.push('/configManage/smsRecord/smsTemplateAdd');"
>{{'添加'}}</el-button>
>{{ '添加' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
height="730px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
@ -97,7 +97,7 @@
style="color: #6962F6"
@click="$router.push('/configManage/smsRecord/smsTemplateAdd?pkId='+scope.row.pkId);"
>
{{'修改'}}
{{ '修改' }}
</el-button>
</template>
</el-table-column>
@ -225,7 +225,7 @@ export default {
statusList: [{ 'name': '允许', 'id': '0' }, { 'name': '禁止', 'id': '1' }],
menuOptions: [],
tableData: [],
loading:false,
loading: false,
total: 0,
types: '',
formId: ''
@ -263,23 +263,7 @@ export default {
//
this.ruleSubmit()
},
updateShow(item) {
this.types = 2
//
this.formId = item.roleId
api.roleDetails(item.roleId).then((res) => {
if (res.code === 200) {
this.ruleShow = true
this.table = { 'roleName': res.data.roleName, 'roleSort': res.data.roleSort,
'roleKey': res.data.roleKey, 'status': res.data.status === 0 ? ['正常'] : ['停用'] }
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
},
delRole(item) {
//
this.$confirm('确认要删除该角色吗?', '提示', {

File diff suppressed because it is too large Load Diff

View File

@ -8,10 +8,10 @@
<div class="page">
<div class="topbox">
<div
class="levelList_i"
:class="tabActive == item.id ? 'act' : ''"
v-for="(item, index) in topList"
:key="index"
class="levelList_i"
:class="tabActive == item.id ? 'act' : ''"
@click.prevent="handleLink(item.id)"
>
{{ item.name }}
@ -25,49 +25,49 @@
<el-col class="el-col-40">
<el-form-item :label="'产品名称'" prop="productName">
<el-input
clearable
v-model="form.productName"
clearable
:placeholder="'请输入'"
></el-input>
/>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'产品编码'" prop="productCode">
<el-input
clearable
v-model="form.productCode"
clearable
:placeholder="'请输入'"
></el-input>
/>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'划线价'" prop="retailPrice">
<el-input
v-model="form.retailPrice"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
v-model="form.retailPrice"
:placeholder="'请输入'"
></el-input>
/>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'发货类型'" prop="shippingChannel">
<el-select clearable v-model="form.shippingChannel">
<el-select v-model="form.shippingChannel" clearable>
<el-option
v-for="item in fhTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'保质期'" prop="shelfLife">
<el-input
v-model="form.shelfLife"
clearable
oninput="value=value.replace(/[^\d]/g,'')"
v-model="form.shelfLife"
:placeholder="'请输入'"
>
<i slot="suffix" class="neibu">{{ '天' }} </i>
@ -76,22 +76,22 @@
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'单位'" prop="unit">
<el-select clearable v-model="form.unit">
<el-select v-model="form.unit" clearable>
<el-option
v-for="item in dwList"
:key="item.pkId"
:label="item.name"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'重量'" prop="weight">
<el-input
v-model="form.weight"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
v-model="form.weight"
:placeholder="'请输入'"
>
<i slot="suffix" class="neibu">KG </i>
@ -101,9 +101,9 @@
<el-col class="el-col-20">
<el-form-item :label="'邮费重量'" prop="postageWeight">
<el-input
v-model="form.postageWeight"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
v-model="form.postageWeight"
:placeholder="'请输入'"
>
<i slot="suffix" class="neibu">KG </i>
@ -112,45 +112,44 @@
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'产品属性'" prop="productAttr">
<el-select clearable v-model="form.productAttr">
<el-select v-model="form.productAttr" clearable>
<el-option
v-for="item in productTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'所属分类'" prop="pkClassify">
<el-select clearable v-model="form.pkClassify">
<el-select v-model="form.pkClassify" clearable>
<el-option
v-for="item in classifyList"
:key="item.pkId"
:label="item.name"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'排列序号'" prop="sort">
<el-input
v-model="form.sort"
clearable
oninput="value = value.replace(/[^\d]/g,'')"
v-model="form.sort"
:placeholder="'请输入'"
>
</el-input>
/>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'长'" prop="length">
<el-input
v-model="form.length"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
v-model="form.length"
:placeholder="'请输入'"
>
<i slot="suffix" class="neibu">CM </i>
@ -160,9 +159,9 @@
<el-col class="el-col-20">
<el-form-item :label="'宽'" prop="width">
<el-input
v-model="form.width"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
v-model="form.width"
:placeholder="'请输入'"
>
<i slot="suffix" class="neibu">CM </i>
@ -172,9 +171,9 @@
<el-col class="el-col-20">
<el-form-item :label="'高'" prop="height">
<el-input
v-model="form.height"
clearable
oninput="value=value.replace(/[^\d.]/g,'')"
v-model="form.height"
:placeholder="'请输入'"
>
<i slot="suffix" class="neibu">CM </i>
@ -183,60 +182,41 @@
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'复购类型'">
<el-select clearable v-model="form.repurchaseType">
<el-select v-model="form.repurchaseType" clearable>
<el-option
v-for="item in repurchaseTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'上架状态'" prop="isPutOn">
<el-select clearable v-model="form.isPutOn">
<el-select v-model="form.isPutOn" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item label="产品基本信息" prop="productBasName">
<el-input
clearable
v-model="form.productBasName"
@focus="opProduct"
></el-input>
</el-form-item>
<!-- <el-form-item label="产品基本信息" prop="pkProductBas">
<el-select clearable v-model="form.pkProductBas" filterable>
<el-option
v-for="item in productList"
:key="item.pkId"
:label="item.productName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item> -->
</el-col>
<el-col class="el-col-20">
<el-form-item label="供应商" prop="pkCubasdoc">
<el-select
v-model="form.pkCubasdoc"
clearable
:placeholder="'请选择'"
v-model="form.pkCubasdoc"
>
<el-option
v-for="item in supplierList"
:key="item.pkId"
:label="item.custName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -261,11 +241,11 @@
<div v-show="tabActive == 1">
<el-form-item :label="'规格'" prop="pkSpecsType">
<el-tag
:key="item.pkId"
v-for="(item, index) in ggList"
v-show="item.checked"
:key="item.pkId"
closable
class="elTag"
v-show="item.checked"
:disable-transitions="false"
@close="handleClose(item.pkId)"
>
@ -275,81 +255,80 @@
class="button-new-tag"
size="small"
@click="openDiag = true"
>{{ '添加' }}</el-button
>
>{{ '添加' }}</el-button>
</el-form-item>
</div>
<div v-show="tabActive == 2">
<el-row>
<el-col class="el-col-20">
<el-form-item :label="'抽奖礼品'" prop="isPrize">
<el-select clearable v-model="form.isPrize">
<el-select v-model="form.isPrize" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'特惠礼品'" prop="isGift">
<el-select clearable v-model="form.isGift">
<el-select v-model="form.isGift" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'提货商品'" prop="isPickUp">
<el-select clearable v-model="form.isPickUp">
<el-select v-model="form.isPickUp" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'合并发货'" prop="isMerge">
<el-select clearable v-model="form.isMerge">
<el-select v-model="form.isMerge" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'冷链运输'" prop="isFresh">
<el-select clearable v-model="form.isFresh">
<el-select v-model="form.isFresh" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item :label="'追溯编号'" prop="isBarCode">
<el-select clearable v-model="form.isBarCode">
<el-select v-model="form.isBarCode" clearable>
<el-option
v-for="item in agreeList"
:key="item.val"
:label="item.text"
:value="item.val"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -360,8 +339,7 @@
v-for="(item, index) in transportTypeList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
>{{ item.label }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
@ -371,88 +349,18 @@
</div>
<div class="footer">
<el-button size="small" class="cancelBtn">
{{ '取消' }}</el-button
>
{{ '取消' }}</el-button>
<el-button
size="small"
v-hasButtons="['ProductReleaseConfirm']"
@click="submit('form')"
size="small"
style="background: #c8161d; border: none"
class="sureBtn"
@click="submit('form')"
>
{{ '确认' }}</el-button
>
{{ '确认' }}</el-button>
</div>
</div>
<!-- 产品弹框 -->
<el-dialog
:title="'添加'"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
width="50%"
center
:before-close="handleClose1"
>
<div class="cpHeight">
<el-row>
<el-col :span="22">
<el-input
v-model="select.query"
clearable
:placeholder="'请输入'"
@keyup.enter.native="getProduct"
prefix-icon="el-icon-search"
></el-input>
</el-col>
<el-col :span="2">
<el-button type="primary" size="small" @click="getProduct">
{{ '搜索' }}</el-button
>
</el-col>
</el-row>
<div style="height: 10px"></div>
<el-table
:data="productList"
ref="multipleTable"
height="500px"
style="width: 100%"
@select-all="onSelectAll"
@select="selected"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
>
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column
align="center"
prop="productName"
:label="'产品名称'"
>
</el-table-column>
<el-table-column
align="center"
prop="productCode"
:label="'产品编号'"
>
</el-table-column>
<el-table-column align="center" prop="unitStr" :label="'单位'">
</el-table-column>
</el-table>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getProduct"
/>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose1">{{ '取消' }}</el-button>
<el-button type="primary" @click="sureProduct">{{
'确认'
}}</el-button>
</span>
</el-dialog>
<!-- 规格 -->
<el-dialog
:title="'添加'"
@ -465,11 +373,10 @@
<el-checkbox-group v-model="form.checkList" class="check">
<el-checkbox
v-for="(item, index) in ggList"
class="check_i"
:key="item.pkId"
class="check_i"
:label="item.pkId"
>{{ item.typeName }}</el-checkbox
>
>{{ item.typeName }}</el-checkbox>
</el-checkbox-group>
</div>
<span slot="footer" class="dialog-footer">
@ -482,172 +389,164 @@
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
import * as api from "@/api/product.js";
import ImageUpload from "@/components/ImageUpload";
import * as supply from "@/api/supply.js";
import { getToken } from '@/utils/auth'
import * as api from '@/api/product.js'
import ImageUpload from '@/components/ImageUpload'
import * as supply from '@/api/supply.js'
export default {
name: "jcsz",
name: 'Jcsz',
components: {
ImageUpload,
ImageUpload
},
data() {
return {
selectData:{},
select:{},
queryParams: {
pageNum: 1,
pageSize: 50,
},
selectData: {},
select: {},
total: 0,
dialogVisible:false,
dialogVisible: false,
rules: {
shippingChannel: [
{
required: true,
message: '请输入发货类型',
trigger: "change",
},
trigger: 'change'
}
],
unit: [{ required: true, message: "请选择单位", trigger: "change" }],
unit: [{ required: true, message: '请选择单位', trigger: 'change' }],
productName: [
{ required: true, message: "请输入产品名称", trigger: "blur" },
{ required: true, message: '请输入产品名称', trigger: 'blur' }
],
retailPrice: [
{ required: true, message: '请输入划线价', trigger: "blur" },
{ required: true, message: '请输入划线价', trigger: 'blur' }
],
shelfLife: [
{ required: true, message: '请输入保质期', trigger: "blur" },
{ required: true, message: '请输入保质期', trigger: 'blur' }
],
weight: [{ required: true, message: "请输入重量", trigger: "blur" }],
weight: [{ required: true, message: '请输入重量', trigger: 'blur' }],
productCode: [
{ required: true, message: "请输入产品编号", trigger: "blur" },
{ required: true, message: '请输入产品编号', trigger: 'blur' }
],
postageWeight: [
{ required: true, message: '请输入邮费重量', trigger: "blur" },
{ required: true, message: '请输入邮费重量', trigger: 'blur' }
],
productAttr: [
{
required: true,
message: '请选择产品属性',
trigger: "change",
},
trigger: 'change'
}
],
isPutOn: [
{ required: true, message: '请选择', trigger: "change" },
],
productBasName: [
{ required: true, message: '请选择', trigger: "change" },
{ required: true, message: '请选择', trigger: 'change' }
],
pkClassify: [
{
required: true,
message: '请选择所属分类',
trigger: "change",
},
trigger: 'change'
}
],
sort: [
{ required: true, message: '请输入排列序号', trigger: "blur" },
{ required: true, message: '请输入排列序号', trigger: 'blur' }
],
length: [{ required: true, message: "请输入长", trigger: "blur" }],
width: [{ required: true, message: "请输入宽", trigger: "blur" }],
height: [{ required: true, message: "请输入高", trigger: "blur" }],
length: [{ required: true, message: '请输入长', trigger: 'blur' }],
width: [{ required: true, message: '请输入宽', trigger: 'blur' }],
height: [{ required: true, message: '请输入高', trigger: 'blur' }],
cover: [
{ required: true, message: "请上传产品主图", trigger: "change" },
{ required: true, message: '请上传产品主图', trigger: 'change' }
],
pkSpecsType: [
{ required: true, message: "请选择规格", trigger: "change" },
{ required: true, message: '请选择规格', trigger: 'change' }
],
isPrize: [
{
required: true,
message: '抽奖礼品',
trigger: "change",
},
trigger: 'change'
}
],
isGift: [
{ required: true, message: "请选择特惠礼品", trigger: "change" },
{ required: true, message: '请选择特惠礼品', trigger: 'change' }
],
isPickUp: [
{ required: true, message: "请选择提货商品", trigger: "change" },
{ required: true, message: '请选择提货商品', trigger: 'change' }
],
isMerge: [
{
required: true,
message: '请选择合并发货',
trigger: "change",
},
trigger: 'change'
}
],
isFresh: [
{
required: true,
message: '请选择冷链运输',
trigger: "change",
},
trigger: 'change'
}
],
pkCubasdoc: [
{
required: true,
message: '请选择',
trigger: "change",
},
trigger: 'change'
}
],
isBarCode: [
{ required: true, message: "请选择条码管理", trigger: "change" },
{ required: true, message: '请选择条码管理', trigger: 'change' }
],
ysList: [
{ required: true, message: '请选择运输方式', trigger: "change" },
],
{ required: true, message: '请选择运输方式', trigger: 'change' }
]
},
ggList: [],
//
openDiag: false,
showImg: true, //
showImg: true, //
noneUploadImg: false, //
uploadImgUrl: process.env.VUE_APP_BASE_API + "/system/upload",
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
headers: {
Authorization: getToken(),
Authorization: getToken()
},
form: {
productBasName:'',
productCode: "",
sptw: "",
productCode: '',
sptw: '',
checkList: [],
ysList: [],
sort: "",
postageWeight: "",
height: "",
width: "",
length: "",
weight: "",
shelfLife: "",
retailPrice: "",
sort: '',
postageWeight: '',
height: '',
width: '',
length: '',
weight: '',
shelfLife: '',
retailPrice: ''
},
tabActive: 0,
agreeList: [
{
text: '允许',
val: 0,
val: 0
},
{
text: '禁止',
val: 1,
},
val: 1
}
],
topList: [
{
name: '基础设置',
id: 0,
id: 0
},
{
name: '规格明细',
id: 1,
id: 1
},
{
name: '拓展设置',
id: 2,
},
id: 2
}
],
productTypeList: [],
fhTypeList: [],
@ -656,191 +555,177 @@ export default {
transportTypeList: [],
repurchaseTypeList: [],
productList: [],
supplierList: [],
};
supplierList: []
}
},
mounted() {
// list
this.getGg();
this.getGg()
// //
this.getProductType();
this.getProductType()
//
this.getShipping();
this.getShipping()
//
this.getUnit();
this.getUnit()
//
this.getRepurchaseType();
this.getRepurchaseType()
//
this.getClassifyAll();
this.getClassifyAll()
//
this.getTransportType();
this.getTransportType()
//
this.getProductCode();
this.getProductCode()
//
this.getSort();
//
this.getProduct();
this.getSort()
},
methods: {
sureProduct(){
this.form.productBasName = this.selectData.productName
sureProduct() {
this.form.pkProductBas = this.selectData.pkId
this.dialogVisible = false
},
onSelectAll() {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.clearSelection()
},
selected(selection, row) {
this.$refs.multipleTable.clearSelection();
if (selection.length == 0) return;
this.$refs.multipleTable.toggleRowSelection(row, true);
this.selectData = row;
},
handleClose1() {
this.dialogVisible = false
},
opProduct(){
this.dialogVisible = true
},
getProduct() {
api.productFind1(Object.assign({}, this.queryParams, this.select)).then((res) => {
this.productList = res.rows;
this.total = res.total
});
this.$refs.multipleTable.clearSelection()
if (selection.length == 0) return
this.$refs.multipleTable.toggleRowSelection(row, true)
this.selectData = row
},
getRepurchaseType() {
api.repurchaseType().then((res) => {
this.repurchaseTypeList = res.data;
});
this.repurchaseTypeList = res.data
})
supply.supplierList().then((res) => {
this.supplierList = res.rows;
});
this.supplierList = res.rows
})
},
getSort() {
api.getMaxSort().then((res) => {
this.form.sort = res.data;
});
this.form.sort = res.data
})
},
getProductCode() {
api.getProductCode().then((res) => {
this.form.productCode = res.msg;
});
this.form.productCode = res.msg
})
},
//
changeYsfs(val) {
//
if (val.indexOf(1) > -1) {
this.form.isLandTrans = 0;
this.form.isLandTrans = 0
} else {
this.form.isLandTrans = 1;
this.form.isLandTrans = 1
}
//
if (val.indexOf(2) > -1) {
this.form.isAirTrans = 0;
this.form.isAirTrans = 0
} else {
this.form.isAirTrans = 1;
this.form.isAirTrans = 1
}
//
if (val.indexOf(3) > -1) {
this.form.isOceanTrans = 0;
this.form.isOceanTrans = 0
} else {
this.form.isOceanTrans = 1;
this.form.isOceanTrans = 1
}
},
//
getTransportType() {
api.transportType().then((res) => {
this.transportTypeList = res.data;
});
this.transportTypeList = res.data
})
},
//
getClassifyAll() {
api.classifyAll().then((res) => {
this.classifyList = res.data;
});
this.classifyList = res.data
})
},
//
checkTrue() {
this.ggList.forEach((item) => {
item.checked = false;
});
item.checked = false
})
this.ggList.forEach((item) => {
this.form.checkList.forEach((child) => {
if (item.pkId == child) {
item.checked = true;
item.checked = true
}
});
});
this.openDiag = false;
this.form.pkSpecsType = this.form.checkList;
})
})
this.openDiag = false
this.form.pkSpecsType = this.form.checkList
},
//
getGg() {
api.findAll().then((res) => {
res.data.forEach((item) => {
item.checked = false;
});
this.ggList = res.data;
});
item.checked = false
})
this.ggList = res.data
})
},
//
getProductType() {
api.productType().then((res) => {
this.productTypeList = res.data;
});
this.productTypeList = res.data
})
},
//
getShipping() {
api.getShipping().then((res) => {
this.fhTypeList = res.data;
});
this.fhTypeList = res.data
})
},
//
getUnit() {
api.unitAll().then((res) => {
this.dwList = res.data;
});
this.dwList = res.data
})
},
//
handleClose(pkId) {
//
this.ggList.forEach((item) => {
if (item.pkId == pkId) {
item.checked = false;
item.checked = false
}
});
})
//
this.form.checkList.splice(this.form.checkList.indexOf(pkId), 1);
this.$forceUpdate();
this.form.checkList.splice(this.form.checkList.indexOf(pkId), 1)
this.$forceUpdate()
},
submit(form) {
this.$refs[form].validate((valid) => {
console.log(valid, '....valid')
if (valid) {
api.productSave(this.form).then((res) => {
if (res.code == 200) {
this.$message({
message: '添加成功',
type: "success",
});
type: 'success'
})
this.$router.replace({
path: "/goodsManage/productList",
});
path: '/goodsManage/productList'
})
} else {
this.$message({
message: res.msg,
type: "warning",
duration: 3000,
});
type: 'warning',
duration: 3000
})
}
});
})
} else {
return false;
return false
}
});
})
},
// tab
handleLink(id) {
this.tabActive = id;
this.tabActive = id
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
@ -849,22 +734,22 @@ export default {
return 'success-row'
}
return ''
},
}
// uploadImgChange(file, fileList) {
// this.noneUploadImg = fileList.length > 0
// this.$refs.form.clearValidate('cover')
// },
//
//
// handlePictureSuccess(res, file) {
// this.form.cover = res.data.url
// },
//
//
// handleRemove(file, fileList) {
// this.form.cover = ''
// this.noneUploadImg = fileList.length > 0
// },
},
};
}
}
</script>
<style scoped lang="scss">
::v-deep .el-select {

View File

@ -298,25 +298,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<!-- <el-form-item label="产品基本信息" prop="pkProductBas">
<el-select clearable v-model="form.pkProductBas" filterable>
<el-option
v-for="item in productList"
:key="item.pkId"
:label="item.productName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item> -->
<el-form-item label="产品基本信息" prop="productBasName">
<el-input
v-model="form.productBasName"
clearable
@focus="opProduct"
/>
</el-form-item>
</el-col>
<el-col class="el-col-20">
<el-form-item label="供应商" prop="pkCubasdoc">
<el-select
@ -533,70 +515,7 @@
> {{ '确认' }}</el-button>
</div>
</div>
<!-- 产品弹框 -->
<el-dialog
:title="'添加'"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
width="50%"
center
:before-close="handleClose1"
>
<div class="cpHeight">
<el-row>
<el-col :span="22">
<el-input
v-model="select.query"
clearable
:placeholder="'请输入'"
prefix-icon="el-icon-search"
@keyup.enter.native="getProduct"
/>
</el-col>
<el-col :span="2">
<el-button type="primary" size="small" @click="getProduct">
{{ '搜索' }}</el-button>
</el-col>
</el-row>
<div style="height: 10px" />
<el-table
ref="multipleTable"
:data="productList"
height="500px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@select-all="onSelectAll"
@select="selected"
>
<el-table-column type="selection" width="55" />
<el-table-column
align="center"
prop="productName"
:label="'产品名称'"
/>
<el-table-column
align="center"
prop="productCode"
:label="'产品编号'"
/>
<el-table-column align="center" prop="unitStr" :label="'单位'" />
</el-table>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getProduct"
/>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose1">{{ '取消' }}</el-button>
<el-button type="primary" @click="sureProduct">{{
'确认'
}}</el-button>
</span>
</el-dialog>
<!-- 规格 -->
<el-dialog
:title="'添加'"
@ -834,7 +753,6 @@ export default {
this.getTransportType()
//
this.getRepurchaseType()
this.getProduct()
},
methods: {
sureProduct() {
@ -857,12 +775,6 @@ export default {
opProduct() {
this.dialogVisible = true
},
getProduct() {
api.productFind1(Object.assign({}, this.queryParams, this.select)).then((res) => {
this.productList = res.rows
this.total = res.total
})
},
getRepurchaseType() {
api.repurchaseType().then((res) => {
this.repurchaseTypeList = res.data

View File

@ -10,13 +10,12 @@
<div v-for="(item,index) in tableData" :key="index" class="lists">
<div class="time">
<div class="border-bottom">{{ item.monthTime }}</div>
<div v-for="items in item.noticeList" class="div-box" @click="clickHref(items.pkId)">
<div v-for="items in item.noticeList" :key="items.pkId" class="div-box" @click="clickHref(items.pkId)">
<div class="title">
<div style="font-weight: 600">{{ items.title }}</div>
<div class="overflow1" style="font-size: 14px;color: #333;margin-top: 10px;font-weight: inherit" v-html="items.content" />
</div>
<div class="time-s">{{ items.creationTime }}</div>
</div>
</div>
</div>
@ -25,14 +24,8 @@
</template>
<script>
import { getcountryAllList } from '@/api/exchangerate'
import topBar from '@/components/topBar'
import { getbdmenuList, getPubenumsList } from '@/api/system'
import { getgradeRanglist, getAwardsListChiose } from '@/api/level'
import * as apis from '@/api/financialCase.js'
import { Message } from 'element-ui'
import * as api from '@/api/translate'
import { getNoticeList } from '@/api/translate'
export default {
name: 'Notice',
@ -63,244 +56,13 @@ export default {
}
})
},
//
handleExport() {
this.download(
'/system/manage/user/export',
{ ...this.params },
`${'系统管理员'}${new Date().getTime()}.xlsx`
)
},
addRules() {
this.types = 1
this.ruleShow = true
},
submitBtn() {
//
this.ruleSubmit()
},
updateShow(item) {
this.types = 2
//
this.userId = item.userId
api.userDetails(item.userId).then((res) => {
if (res.code === 200) {
this.ruleShow = true
this.table = { 'userName': res.data.userName, 'nickName': res.data.nickName,
'password': '', 'phonenumber': res.data.phonenumber,
'sms': res.data.sms == 0 ? '启用' : '停用', 'status': res.data.status == 0 ? '启用' : '停用',
'roleIdList': res.data.roleIdList, 'vertexIdList': res.data.vertexIdList,
'countryIdList': res.data.countryIdList, 'authority': res.data.authority == 0 ? '启用' : '停用',
'pkDept': res.data.pkDept
}
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
},
delRole(item) {
//
this.$confirm('确认要删除该管理员吗', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
api.delUser(item.userId).then((res) => {
if (res.code === 200) {
Message({
message: '删除成功',
type: 'success'
})
this.research()
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
})
},
deppClone(obj) {
const _obj = JSON.stringify(obj)
const _obj1 = JSON.parse(_obj)
return _obj1
},
ruleSubmit() {
const datas = this.table
const that = this
this.$refs['forms'].validate(valid => {
if (!valid) {
return false
} else {
if (this.types === 1) {
api.addUser(datas).then((res) => {
if (res.code === 200) {
Message({
message: '添加成功',
type: 'success'
})
that.ruleShow = false
that.table = { 'userName': '', 'nickName': '', 'password': '', 'phonenumber': '',
'sms': '', 'authority': '', 'status': '', 'roleIdList': [], 'vertexIdList': [],
'countryIdList': '',
'pkDept': ''
}
that.research()
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
}
if (this.types === 2) {
const datas1 = this.deppClone(datas)
if (datas.sms === '启用') {
datas1.sms = ''
datas1.sms = 0
} else if (datas.sms === '停用') {
datas1.sms = ''
datas1.sms = 1
}
if (datas1.authority === '启用') {
datas1.authority = ''
datas1.authority = 0
} else if (datas.authority === '停用') {
datas1.authority = ''
datas1.authority = 1
}
if (datas1.status === '启用') {
datas1.status = ''
datas1.status = 0
} else if (datas.status === '停用') {
datas1.status = ''
datas1.status = 1
}
datas1.userId = this.userId
api.putUser(datas1).then((res) => {
if (res.code === 200) {
Message({
message: '修改成功',
type: 'success'
})
that.ruleShow = false
that.table = { 'userName': '', 'nickName': '', 'password': '', 'phonenumber': '',
'sms': '', 'authority': '', 'status': '', 'roleIdList': [], 'vertexIdList': [],
'countryIdList': '',
'pkDept': ''
}
that.research()
} else {
Message({
message: res.msg,
type: 'error'
})
}
})
}
}
})
},
statusChange(value) {
if (this.table.status.length > 1) {
this.table.status.splice(0, 1)
}
},
handleClose() {
this.ruleShow = false
this.table = {
'userName': '', 'nickName': '', 'password': '', 'phonenumber': '',
'sms': '', 'authority': '', 'status': '', 'roleIdList': [], 'vertexIdList': [],
'countryIdList': '',
'pkDept': ''
}
},
changeBox(row) {
console.error(row)
},
addFrom() {
},
addRule() {
},
changeTime(value) {
// this.queryParams.creationTime = value[0]
// this.queryParams.endCreationTime = value[1]
},
handleChangeMunu(value) {
console.log('🌈', value[value.length - 1])
this.queryParams.menuId = value[value.length - 1]
},
//
getPubenumsList() {
getPubenumsList().then((res) => {
this.menuOptions = res.data
})
},
//
getgradeRanglist() {
getgradeRanglist().then((res) => {
this.gradeRangList = res.data
})
},
//
getAwardsListChiose() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows
})
},
async getUserId(data) {
return this.$store.state.user.user.userId
},
async research(data) {
api.getNoticeList().then((res) => {
console.error(res)
this.tableData = res.rows
this.total = res.total
})
},
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 50,
userName: '', //
roleString: '', //
status: '', //
startDate: '', //
endDate: [] //
}
this.research()
},
handleSelectionChange(val) {
this.multipleSelection = val
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
// if (columnIndex === 0) {
// if (rowIndex % 2 === 0) {
// return {
// rowspan: 2,
// colspan: 1,
// };
// } else {
// return {
// rowspan: 0,
// colspan: 0,
// };
// }
// }
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return 'success-row'
}
return ''
}
}
}
@ -321,9 +83,7 @@ export default {
padding: 15px 20px 10px 20px;
display: flex;
justify-content: space-between;
//margin: 0 20px;
border-bottom: 1px solid rgba(0,0,0,0.1);
//line-height: 24px;
}
.lists{
width: 100%;
@ -341,34 +101,9 @@ export default {
.time{
color: #000;
font-size: 18px;
//font-weight: 600;
width: 100%;
}
.name{
color: #333;
font-size: 18px;
font-weight: bold;
flex: 1;
margin-left: 10px;
}
.style3{
background: rgba(0,155,88,0.3)!important;
color: #009B58!important;
}
.style2{
background: rgba(58,58,58,0.3)!important;
color: #3F3F3F!important;
}
.style1{
width: 44px;
height: 22px;
background: rgba(255,134,134,0.3);
border-radius: 4px 4px 4px 4px;
line-height: 22px;
text-align: center;
color: #C42525;
font-size: 14px;
}
.box{
box-shadow: 0px 2px 20px 0px rgba(238,238,238,0.5);
border-radius: 10px 10px 10px 10px;
@ -378,113 +113,16 @@ export default {
}
.lists{
padding: 20px 0 0 0;
//border-bottom:1px solid rgba(0,0,0,0.1);
display: flex;
justify-content: space-between;
cursor: pointer;
}
::v-deep .el-dialog__title{
font-weight: bold;
}
.button-style{
width: 209px;
height: 48px;
background: #CCCCCC;
border-radius: 5px 5px 5px 5px;
opacity: 1;
line-height: 48px;
padding: 0!important;
color: #fff;
font-size: 18px;
}
::v-deep .el-dialog__header{
border-bottom: 1px solid rgba(0,0,0,0.1);
}
.button-s{
padding: 0 2px!important;
}
::v-deep .el-button{
padding: 10px 20px;
}
::v-deep .el-date-editor .el-range__close-icon{
margin-top: -10px;
}
::v-deep .el-date-editor .el-range-separator{
margin-top: -10px;
}
::v-deep .el-date-editor .el-range__icon{
margin-top: -10px;
}
::v-deep .el-input__inner{
//height:28px;
//line-height: 28px;
}
::v-deep .el-form-item{
margin-bottom: 15px;
}
::v-deep .el-form-item__label{
color: #333;
font-weight: inherit;
}
::v-deep .el-row {
margin-top: 20px;
}
::v-deep .el-table .warning-row {
background: #f9f9f9;
}
::v-deep .el-table .success-row {
background: #ffffff;
}
::v-deep .el-table thead {
color: #000000;
}
.openClose {
margin-top: 10px;
margin-right: 10px;
color: #666666;
text-align: center;
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
overflow-y: auto;
//margin-bottom: 100px;
.thetopbox {
background: #ffffff;
border-radius: 8px;
padding-bottom: 10px;
.searchbox {
display: flex;
align-items: center;
.searchtitle {
margin-right: 10px;
}
.searchbtn {
background: #08143f;
color: #ffffff;
}
}
}
.main {
margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
.maintop {
display: flex;
padding: 10px 20px;
justify-content: space-between;
align-items: center;
.mainbtn {
.thebtn1 {
color: #ffffff;
background: rgba(67, 145, 253, 1);
}
}
}
}
}
</style>

View File

@ -167,17 +167,17 @@
<div class="maintop">
<div class="mainbtn">
<el-button
v-hasButtons="['dealerSh']"
size="small"
style="background: #48b2fd"
v-hasButtons="['dealerSh']"
class="thebtn1"
@click="check"
>{{'审核'}}</el-button>
>{{ '审核' }}</el-button>
<el-button
v-hasButtons="['dealerExport']"
size="small"
style="background: #ffad41; color: #fff"
class="thebtn3"
v-hasButtons="['dealerExport']"
@click="exports()"
> {{ '导出' }}</el-button>
</div>
@ -207,9 +207,9 @@
<div class="itemTrading">
<el-table
ref="multipleTable"
v-loading="loading"
:data="tableData.censusSummaryList"
style="width: 100%"
v-loading="loading"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
:summary-method="getSummaries"
@ -249,27 +249,30 @@
:label="'隶属团队'"
/>
<el-table-column align="center"
prop="licenseName"
width="150"
:label="'营业执照名称'">
</el-table-column>
<el-table-column align="center"
prop="creditCode"
width="150"
:label="'统一社会信用代码'">
</el-table-column>
<el-table-column align="center"
prop="legalName"
width="120"
:label="'法人姓名'">
</el-table-column>
<el-table-column align="center"
width="180"
prop="licenseAddress"
:label="'营业执照注册地址'">
</el-table-column>
<el-table-column
align="center"
prop="licenseName"
width="150"
:label="'营业执照名称'"
/>
<el-table-column
align="center"
prop="creditCode"
width="150"
:label="'统一社会信用代码'"
/>
<el-table-column
align="center"
prop="legalName"
width="120"
:label="'法人姓名'"
/>
<el-table-column
align="center"
width="180"
prop="licenseAddress"
:label="'营业执照注册地址'"
/>
<el-table-column
align="center"
@ -291,30 +294,30 @@
<template slot-scope="scope">
<el-button
v-if="scope.row.approveStatus == 2 || scope.row.approveStatus == 4"
v-hasButtons="['dealerFq']"
class="button_s"
type="text"
size="small"
style="color: #48b2fd"
@click="hrefs(scope.row)"
v-hasButtons="['dealerFq']"
>
发起签呈
</el-button>
<el-button
v-if="scope.row.approveStatus == 2 || scope.row.approveStatus == 4"
v-hasButtons="['dealerBh']"
class="button_s"
type="text"
size="small"
style="color: #C8161D"
v-hasButtons="['dealerBh']"
@click="reject(scope.row.storeCode)"
>
{{ '驳回' }}
</el-button>
<el-button
v-hasButtons="['dealerDetail']"
class="button_s"
type="text"
v-hasButtons="['dealerDetail']"
size="small"
style="color: #009b58"
@click="details(scope.row.storeCode)"
@ -322,10 +325,10 @@
资质认证
</el-button>
<el-button
v-if="scope.row.approveStatus == 5"
v-if="scope.row.approveStatus == 5"
v-hasButtons="['dealerUp']"
class="button_s"
type="text"
v-hasButtons="['dealerUp']"
size="small"
style="color: #C8161D"
@click="details(scope.row.storeCode,1)"
@ -370,10 +373,10 @@ import { getcountryAllList } from '@/api/exchangerate'
import { bonusSource } from '@/api/bonus'
import * as del from '@/api/delivery'
import { getAwardsListChiose } from '@/api/level'
import {dealerList, dealerReject, markerSpace} from '@/api/settle.js'
import { dealerList, dealerReject, markerSpace } from '@/api/settle.js'
import { Message } from 'element-ui'
import Editor from '@/components/Editor/index.vue'
import {isLocals} from "@/utils/numberToCurrency";
import { isLocals } from '@/utils/numberToCurrency'
export default {
name: 'Bzpz',
components: {
@ -381,11 +384,11 @@ export default {
topBar
},
filters: {
isAgree(val) {
isAgree(val) {
if (!val) {
return '允许';
return '允许'
} else {
return '禁止';
return '禁止'
}
}
},
@ -406,7 +409,7 @@ export default {
},
isActive: false,
typeList: [
{
{
value: 2,
label: '待审核'
},
@ -426,12 +429,12 @@ export default {
digList: [
{
value: 0,
label: '允许',
label: '允许'
},
{
value: 1,
label: '禁止',
},
label: '禁止'
}
],
menuList: [
{
@ -529,7 +532,7 @@ export default {
creationTime2: [],
creationTime3: [],
select: {
approveStatus:2,
approveStatus: 2
},
//
queryParams: {
@ -539,7 +542,7 @@ export default {
addOrEdit: '',
total: 0,
dialogVisible: false,
loading:false,
loading: false,
tableData: {
censusSummaryList: []
},
@ -594,12 +597,12 @@ export default {
methods: {
//
confirmSubmit() {
if(this.relContent.length == 0){
if (this.relContent.length == 0) {
this.$message({
message: '请输入驳回信息',
type: 'warning'
})
return false
message: '请输入驳回信息',
type: 'warning'
})
return false
}
api.dealerReject({ 'storeCode': this.storeCode, 'rejectStr': this.relContent }).then((res) => {
if (res.code == '200') {
@ -645,16 +648,16 @@ export default {
path: 'JxsQc',
query: {
data: JSON.stringify([row]),
approvalBusiness: 143,
},
approvalBusiness: 143
}
})
},
// details(code) {
// this.$router.push('/information/dealer/detail?code=' + code)
// },
details(code,index) {
index = index||0
this.$router.push('/information/dealer/detail?code=' + code+'&index='+index)
details(code, index) {
index = index || 0
this.$router.push('/information/dealer/detail?code=' + code + '&index=' + index)
},
exports() {
this.download(
@ -704,8 +707,8 @@ export default {
api.vertexList().then((res) => {
this.verList = res.data
})
//
api.certificate_status().then((res) => {
//
api.certificate_status().then((res) => {
this.cerList = res.data
})
//
@ -822,22 +825,6 @@ export default {
this.total = res.total
})
},
handleSelectionChange(val) {},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams
this.$confirm( '是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(function() {
return api.exportClassIfy(queryParams)
})
.then((response) => {
this.download(response)
})
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'

View File

@ -2,63 +2,63 @@
<div class="page">
<topBar
v-if="topList.length > 0"
:topList="topList"
:top-list="topList"
:moren="moren"
></topBar>
/>
<div class="main">
<div class="form_all">
<el-form ref="select" :model="select" label-width="auto">
<el-row :gutter="10">
<el-col :span="4">
<el-form-item label="会员编号">
<el-input clearable v-model="select.memberCode"></el-input>
<el-input v-model="select.memberCode" clearable />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="结算等级">
<el-select
v-model="select.pkGrade"
clearable
:placeholder="'请选择'"
v-model="select.pkGrade"
>
<el-option
v-for="item in gradeRangList"
:key="item.pkId"
:label="item.gradeName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="当月奖衔">
<el-select
v-model="select.pkAwards"
clearable
:placeholder="'请选择'"
v-model="select.pkAwards"
>
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="隶属体系">
<el-select
v-model="select.pkVertex"
clearable
:placeholder="'请选择'"
v-model="select.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
/>
</el-select>
</el-form-item>
</el-col>
@ -67,20 +67,18 @@
<el-date-picker
v-model="select.cjsj"
type="daterange"
@change="changeTime1"
range-separator="——"
:start-placeholder="'开始时间'"
:end-placeholder="'结束日期'"
value-format="yyyy-MM-dd"
:unlink-panels="true"
>
</el-date-picker>
@change="changeTime1"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getList">
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col>
</el-row>
@ -89,26 +87,25 @@
<div class="maintop">
<div class="mainbtn">
<el-button
size="small"
v-hasButtons="['memberFindExport']"
size="small"
class="thebtn2"
@click="handleExport"
>
{{ '导出' }}</el-button
>
{{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
style="width: 100%"
height="700px"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column type="selection" width="55" />
<el-table-column align="center" prop="memberCode" label="会员编号" />
<el-table-column align="center" prop="memberName" label="会员姓名" />
<el-table-column align="center" prop="phone" label="联系方式" />
@ -153,127 +150,122 @@
</template>
<script>
import topBar from "@/components/topBar";
import { getgradeRanglist, getAwardsListChiose } from "@/api/level";
import { getvertexValue } from "@/api/member";
import * as api from "@/api/member";
import topBar from '@/components/topBar'
import { getgradeRanglist, getAwardsListChiose } from '@/api/level'
import { getvertexValue } from '@/api/member'
import * as api from '@/api/member'
export default {
name: "Bzpz",
name: 'Bzpz',
components: {
topBar,
topBar
},
data() {
const now = new Date();
const startOfMonth = new Date(now.getFullYear(), now.getMonth(), 1);
const endOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0);
const now = new Date()
const startOfMonth = new Date(now.getFullYear(), now.getMonth(), 1)
const endOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0)
return {
moren: "memberFind",
moren: 'memberFind',
topList: [
{
name: "会员奖衔查询",
path: "memberFind",
},
name: '会员奖衔查询',
path: 'memberFind'
}
],
select: {
cjsj: [this.formatDate(startOfMonth), this.formatDate(endOfMonth)],
startDate: this.formatDate(startOfMonth),
endDate: this.formatDate(endOfMonth),
endDate: this.formatDate(endOfMonth)
},
//
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
awardsList: [], //
vertexList: [], //
gradeRangList: [], //
awardsList: [], //
vertexList: [], //
gradeRangList: [], //
total: 0,
tableData: [],
loading: false,
};
loading: false
}
},
mounted() {
//
this.getList();
this.getvertexValue();
this.getAwardsListChiose();
this.getgradeRanglist();
this.getList()
this.getvertexValue()
this.getAwardsListChiose()
this.getgradeRanglist()
},
methods: {
//
//
getgradeRanglist() {
getgradeRanglist().then((res) => {
this.gradeRangList = res.data;
});
this.gradeRangList = res.data
})
},
//
//
getvertexValue() {
getvertexValue().then((res) => {
this.vertexList = res.data;
});
this.vertexList = res.data
})
},
//
//
getAwardsListChiose() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows;
});
this.awardsList = res.rows
})
},
changeTime1(val) {
this.select.startDate = val ? val[0] : "";
this.select.endDate = val ? val[1] : "";
},
getData() {
api.getEnableStatus().then((res) => {
this.getStatusList = res.data;
});
this.select.startDate = val ? val[0] : ''
this.select.endDate = val ? val[1] : ''
},
formatDate(date) {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
return `${year}-${month}-${day}`
},
getList() {
this.loading = true;
this.loading = true
api
.member_awards(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false;
});
this.tableData = res.rows
this.total = res.total
this.loading = false
})
},
//
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then((_) => {
this.download(
"/member/manager/member/member_awards_query_export",
'/member/manager/member/member_awards_query_export',
Object.assign({}, this.queryParams, this.select),
`会员奖衔${new Date().getTime()}.xlsx`
);
});
)
})
},
reset() {
this.select = {};
this.getList();
this.select = {}
this.getList()
},
handleSelectionChange(val) {},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style scoped lang="scss">
::v-deep .el-table .warning-row {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -17,11 +17,9 @@
<el-col :span="4">
<div class="searchbox">
<el-button class="my_search" @click="research">
{{ '搜索' }}</el-button
>
{{ '搜索' }}</el-button>
<el-button class="my_reset" @click="reChongzhi">
{{ '重置' }}</el-button
>
{{ '重置' }}</el-button>
</div>
</el-col>
</el-row>
@ -31,18 +29,17 @@
<div class="maintop">
<div class="mainbtn">
<el-button
v-hasButtons="['WaresBonusAdd']"
size="small"
class="addBtn"
v-hasButtons="['WaresBonusAdd']"
@click="addRules"
>{{ '添加' }}</el-button
>
>{{ '添加' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
height="730px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
@ -104,21 +101,21 @@
<el-table-column align="center" :label="'操作'" width="150">
<template slot-scope="scope">
<el-button
v-hasButtons="['WaresBonusEdit']"
class="colors"
type="text"
size="small"
style="color: #ffad41"
v-hasButtons="['WaresBonusEdit']"
@click.native.prevent="updateShow(scope.row)"
>
{{ '修改' }}
</el-button>
<el-button
v-hasButtons="['WaresBonusDel']"
class="colors"
type="text"
size="small"
style="color: #c73030"
v-hasButtons="['WaresBonusDel']"
@click.native.prevent="delRole(scope.row)"
>
{{ '删除' }}
@ -139,172 +136,124 @@
</template>
<script>
import topBar from "@/components/topBar";
import * as api from "@/api/specialBusiness.js";
import { Message } from "element-ui";
import topBar from '@/components/topBar'
import * as api from '@/api/specialBusiness.js'
import { Message } from 'element-ui'
export default {
name: "Qxpz",
name: 'Qxpz',
components: {
topBar,
topBar
},
data() {
return {
title: '添加',
modifiedTime: [],
modifiedTime1: [],
forms: "",
forms: '',
rules: {
memberCode: [
{ required: true, message: '请输入', trigger: "blur" },
{ required: true, message: '请输入', trigger: 'blur' }
],
expandRatio: [
{ required: true, message: '请输入', trigger: "blur" },
{ required: true, message: '请输入', trigger: 'blur' }
],
coachGeneration: [
{ required: true, message: '请输入', trigger: "blur" },
{ required: true, message: '请输入', trigger: 'blur' }
],
startDate: [
{ required: true, message: '请选择', trigger: "change" },
{ required: true, message: '请选择', trigger: 'change' }
],
endDate: [
{ required: true, message: '请选择', trigger: "change" },
],
{ required: true, message: '请选择', trigger: 'change' }
]
},
table: {},
ruleShow: false,
moren: "waresBonus",
moren: 'waresBonus',
topList: [
{
name: "特殊品奖金分配",
path: "waresBonus",
},
name: '特殊品奖金分配',
path: 'waresBonus'
}
],
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
tableData: [],
loading: false,
total: 0,
};
total: 0
}
},
created() {
this.research();
this.research()
},
methods: {
addRules() {
this.$router.push({
path: "WaresBonusRules",
path: 'WaresBonusRules'
// query: {
// allData: JSON.stringify(this.tableData),
// },
});
})
},
updateShow(item) {
this.$router.push({
path: "WaresBonusRules",
path: 'WaresBonusRules',
query: {
allData: JSON.stringify(item),
isEdit: 1,
},
});
isEdit: 1
}
})
},
delRole(item) {
let pkId = item.pkId;
const pkId = item.pkId
this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
type: 'warning'
}).then(() => {
api.waresBonusDel(pkId).then((res) => {
if (res.code === 200) {
Message({
message: res.msg,
type: "success",
});
this.research();
type: 'success'
})
this.research()
}
});
});
},
ruleSubmit() {
this.$refs["forms"].validate((valid) => {
if (!valid) {
return false;
} else {
if (this.types == 1) {
api.kValueAdd(this.table).then((res) => {
if (res.code == 200) {
Message({
message: res.msg,
type: "success",
});
this.ruleShow = false;
this.$refs["forms"].clearValidate();
this.$refs["forms"].resetFields();
this.research();
}
});
}
if (this.types == 2) {
api.kValueUp(this.table).then((res) => {
if (res.code == 200) {
Message({
message: res.msg,
type: "success",
});
this.ruleShow = false;
this.$refs["forms"].clearValidate();
this.$refs["forms"].resetFields();
this.research();
}
});
}
}
});
},
handleClose() {
this.ruleShow = false;
this.table = {};
},
changeTime(val) {
this.queryParams.beginStartDate = val ? val[0] : "";
this.queryParams.endStartDate = val ? val[1] : "";
},
changeTime1(val) {
this.queryParams.beginEndDate = val ? val[0] : "";
this.queryParams.endEndDate = val ? val[1] : "";
})
})
},
research() {
this.loading = true;
this.loading = true
api.waresBonusQuery(this.queryParams).then((res) => {
this.loading = false;
this.tableData = res.rows;
this.total = res.total;
});
this.loading = false
this.tableData = res.rows
this.total = res.total
})
},
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 50,
};
this.modifiedTime = [];
this.modifiedTime1 = [];
this.research();
pageSize: 50
}
this.modifiedTime = []
this.modifiedTime1 = []
this.research()
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.multipleSelection = val
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .inlineTable thead {

View File

@ -3,7 +3,7 @@
<topBar v-if="topList.length > 0" :top-list="topList" :moren="moren" />
<div class="main">
<div class="tit">{{ $t("商品配置") }}</div>
<div class="xian"></div>
<div class="xian" />
<div class="table">
<!-- 批量操作 -->
<table>
@ -49,21 +49,21 @@
<div class="tableFlex">
<div class="tableFlex_i">
<el-input
v-model="plcz.assAchieve"
:placeholder="$t('分配EV')"
size="medium"
v-model="plcz.assAchieve"
:disabled="lookOver"
></el-input>
/>
</div>
<div class="tableFlex_i">
<el-input
v-model="plcz.algebra"
:placeholder="$t('代数')"
size="medium"
v-model="plcz.algebra"
:disabled="lookOver"
></el-input>
/>
</div>
<div class="tableAdd"></div>
<div class="tableAdd" />
</div>
</th>
<th colspan="2" style="padding-bottom: 0">
@ -72,15 +72,13 @@
<el-button
type="primary"
:disabled="lookOver"
@click="toPlcz"
size="mini"
>{{ '批量操作' }}</el-button
>
@click="toPlcz"
>{{ '批量操作' }}</el-button>
</div>
<div class="tableFlex_i">
<el-button size="mini" :disabled="lookOver" @click="reset">
{{ '重置' }}</el-button
>
{{ '重置' }}</el-button>
</div>
</div>
</th>
@ -100,10 +98,10 @@
<div class="tableFlex">
<div class="tableFlex_i">{{ $t("分配EV") }}</div>
<div class="tableFlex_i">{{ $t("代数") }}</div>
<div class="tableAdd"></div>
<div class="tableAdd" />
</div>
</td>
<td colspan="4" style="border: 0"></td>
<td colspan="4" style="border: 0" />
</tr>
<tr v-for="(item, index) in recommendUpgradeList" :key="index">
<!-- <td colspan="2" style="border: 0"></td> -->
@ -111,78 +109,78 @@
<div class="tableFlex">
<div class="tableFlex_i">
<el-input
:placeholder="$t('商品')"
v-model="item.waresName"
:placeholder="$t('商品')"
:disabled="lookOver"
@focus="getProduct(index, cndex)"
></el-input>
/>
</div>
<div class="tableFlex_i">
<el-input
v-model="item.orderAssAchieve"
:placeholder="$t('分配总EV')"
size="medium"
v-model="item.orderAssAchieve"
:disabled="true"
></el-input>
/>
</div>
<div class="tableFlex_i">
<el-input
v-model="item.totalAlgebra"
:placeholder="$t('分配代数')"
size="medium"
v-model="item.totalAlgebra"
:disabled="lookOver"
></el-input>
/>
</div>
</div>
</td>
<td colspan="8" style="padding-bottom: 0">
<div
class="tableFlex"
v-for="(ctem, cndex) in item.waresBonusItemsParamList"
:key="cndex"
class="tableFlex"
>
<div class="tableFlex_i">
<el-input
:placeholder="$t('分配EV')"
v-model="ctem.assAchieve"
:placeholder="$t('分配EV')"
type="number"
:step="0.01"
@input="updateEVSum(item)"
></el-input>
/>
</div>
<div class="tableFlex_i">
<el-input
:placeholder="$t('代数')"
v-model="ctem.algebra"
></el-input>
:placeholder="$t('代数')"
/>
</div>
<div class="tableAdd">
<img
src="@/assets/images/iconpop.png"
@click="reduceProduct(index, cndex)"
alt=""
/>
@click="reduceProduct(index, cndex)"
>
<img
v-if="cndex == item.waresBonusItemsParamList.length - 1"
src="@/assets/images/iconadd.png"
@click="addProduct(index, cndex)"
alt=""
/>
@click="addProduct(index, cndex)"
>
</div>
</div>
<div
class="tableAddPro"
v-show="item.waresBonusItemsParamList.length == 0"
class="tableAddPro"
>
{{ $t("添加") }}
<img
src="@/assets/images/iconadd.png"
@click="addProduct(index, cndex)"
alt=""
/>
@click="addProduct(index, cndex)"
>
</div>
</td>
<td colspan="4" style="border: 0"></td>
<td colspan="4" style="border: 0" />
</tr>
<!-- <tr v-if="recommendUpgradeList.length > 0">
<td colspan="2"></td>
@ -226,68 +224,25 @@
</el-row>
<div style="height: 10px"></div> -->
<el-table
:data="dialogList"
ref="multipleTable"
:data="dialogList"
style="width: 100%"
@select-all="onSelectAll"
@select="selected"
:header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName"
@select-all="onSelectAll"
@select="selected"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column type="selection" width="55" />
<el-table-column
align="center"
prop="waresName"
:label="$t('商品名称')"
>
</el-table-column>
/>
<el-table-column
align="center"
prop="waresCode"
:label="$t('商品编号')"
>
</el-table-column>
<!-- <el-table-column
align="center"
prop="productName"
:label="'规格'"
>
<template slot-scope="scope">
<div
class="blueCor"
v-show="
scope.row.selSkuNameList == '' ||
scope.row.selSkuNameList == undefined
"
@click="selSku(scope.row.pkId, scope.$index)"
>
{{ '选择规格' }}
</div>
<div
class="blueCor"
v-show="
scope.row.selSkuNameList != '' &&
scope.row.selSkuNameList != undefined
"
@click="selSku(scope.row.pkId, scope.$index)"
>
{{ scope.row.selSkuNameList }}
</div>
</template>
</el-table-column> -->
<!-- <el-table-column
align="center"
prop="productName"
:label="'商品数量'"
>
<template slot-scope="scope">
<el-input-number
size="mini"
v-model="scope.row.quantity"
:min="1"
></el-input-number>
</template>
</el-table-column> -->
/>
</el-table>
</div>
<pagination
@ -315,18 +270,17 @@
<div>
<el-form>
<el-form-item
:label="item.typeName"
v-for="(item, index) in skuList"
:key="index"
:label="item.typeName"
>
<el-radio-group v-model="item.pkProductSku">
<el-radio
v-for="(ctem, cndex) in item.specsList"
@change="getCheckBox(item.pkId, item.specsName)"
:key="ctem.pkId"
:label="ctem.pkId"
>{{ ctem.specsName }}</el-radio
>
@change="getCheckBox(item.pkId, item.specsName)"
>{{ ctem.specsName }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
@ -340,32 +294,30 @@
</el-dialog>
</div>
<div class="footer">
<el-button size="small" @click="goback()" class="cancelBtn">
{{ '取消' }}</el-button
>
<el-button size="small" @click="submit()" class="sureBtn">
{{ '确认' }}</el-button
>
<el-button size="small" class="cancelBtn" @click="goback()">
{{ '取消' }}</el-button>
<el-button size="small" class="sureBtn" @click="submit()">
{{ '确认' }}</el-button>
</div>
</div>
</template>
<script>
import * as api from "@/api/specialBusiness.js";
import topBar from "@/components/topBar";
import ImageUpload from "@/components/ImageUpload";
import { Message } from "element-ui";
import * as api from '@/api/specialBusiness.js'
import topBar from '@/components/topBar'
import ImageUpload from '@/components/ImageUpload'
import { Message } from 'element-ui'
export default {
name: "WaresBonusRules",
name: 'WaresBonusRules',
components: {
ImageUpload,
topBar,
topBar
},
props: {
lookOver: {
type: Boolean,
default: false,
},
default: false
}
},
data() {
return {
@ -373,35 +325,35 @@ export default {
ggVisible: false,
queryParams: {
pageNum: 1,
pageSize: 50,
pageSize: 50
},
total: 0,
allData: [], //
areaList: [], //
isArea: "",
allData: [], //
areaList: [], //
isArea: '',
plcz: {},
select: {}, //
dialogList: [], //
selectData: [], //
skuList: [], //
gradeList: [], //
selSkuList: "",
selSkuNameList: "",
selIndex: "",
showCndex: "",
showIndex: "",
select: {}, //
dialogList: [], //
selectData: [], //
skuList: [], //
gradeList: [], //
selSkuList: '',
selSkuNameList: '',
selIndex: '',
showCndex: '',
showIndex: '',
pageData: {},
recommendUpgradeList: [],
allGoods: [],
moren: "WaresBonusRules",
moren: 'WaresBonusRules',
topList: [
{
name: "特殊品奖金分配",
path: "WaresBonusRules",
},
name: '特殊品奖金分配',
path: 'WaresBonusRules'
}
],
isEdit: "",
};
isEdit: ''
}
},
// computed: {
// calculateTotalEV() {
@ -417,123 +369,123 @@ export default {
deep: true,
handler() {
this.recommendUpgradeList.forEach((item) => {
this.updateEVSum(item);
});
},
},
this.updateEVSum(item)
})
}
}
},
mounted() {
// this.getData();
this.addNewGoods();
this.addNewGoods()
if (this.$route.query.isEdit) {
this.isEdit = this.$route.query.isEdit;
this.isEdit = this.$route.query.isEdit
}
if (this.$route.query.allData) {
const allData = JSON.parse(this.$route.query.allData);
this.recommendUpgradeList = [allData];
const allData = JSON.parse(this.$route.query.allData)
this.recommendUpgradeList = [allData]
this.recommendUpgradeList.forEach((item) => {
if (item.bdWaresBonusItemsList) {
this.$set(
item,
"waresBonusItemsParamList",
'waresBonusItemsParamList',
JSON.parse(JSON.stringify(item.bdWaresBonusItemsList))
);
)
}
});
})
}
},
methods: {
goback() {
this.$router.go(-1);
this.$router.go(-1)
},
updateEVSum(item) {
const currentTotal = item.waresBonusItemsParamList.reduce(
(sum, ctem) => sum + Number(ctem.assAchieve || 0),
0
);
item.orderAssAchieve = currentTotal;
)
item.orderAssAchieve = currentTotal
},
getPage(allData) {
this.recommendUpgradeList = allData;
console.log("🌈allData", allData);
this.recommendUpgradeList = allData
console.log('🌈allData', allData)
},
sureSku() {
this.$set(this.dialogList[this.selIndex], "selSkuList", this.selSkuList);
this.$set(this.dialogList[this.selIndex], 'selSkuList', this.selSkuList)
this.$set(
this.dialogList[this.selIndex],
"selSkuNameList",
'selSkuNameList',
this.selSkuNameList
);
this.ggVisible = false;
)
this.ggVisible = false
},
sureProduct() {
console.log(this.selectData, "waresName");
console.log(this.selectData, 'waresName')
if (this.selectData.length == 0) {
this.$message({
message: '请选择产品',
type: "warning",
});
return false;
type: 'warning'
})
return false
} else {
this.recommendUpgradeList[this.showIndex].pkWares =
this.selectData.pkId;
this.selectData.pkId
this.recommendUpgradeList[this.showIndex].waresName =
this.selectData.waresName;
this.selectData.waresName
this.recommendUpgradeList[this.showIndex].waresCode =
this.selectData.waresCode;
this.handleClose();
this.$forceUpdate();
this.selectData.waresCode
this.handleClose()
this.$forceUpdate()
}
},
toPlcz() {
this.recommendUpgradeList.forEach((stem) => {
stem.waresBonusItemsParamList.forEach((ctem) => {
ctem.assAchieve = this.plcz.assAchieve;
ctem.algebra = this.plcz.algebra;
});
});
ctem.assAchieve = this.plcz.assAchieve
ctem.algebra = this.plcz.algebra
})
})
},
reset() {
this.plcz = {};
this.plcz = {}
},
getCheckBox() {
let arr1 = [],
arr2 = [];
const arr1 = []
const arr2 = []
this.skuList.forEach((item) => {
item.specsList.forEach((ctem) => {
if (ctem.pkId == item.pkProductSku) {
arr1.push(ctem.pkId);
arr2.push(ctem.specsName);
arr1.push(ctem.pkId)
arr2.push(ctem.specsName)
}
});
});
this.selSkuList = arr1.join(",");
this.selSkuNameList = arr2.join(",");
})
})
this.selSkuList = arr1.join(',')
this.selSkuNameList = arr2.join(',')
},
setArea(val) {
this.isArea = val;
this.isArea = val
},
handleClose() {
this.selectData = [];
this.dialogVisible = false;
this.selectData = []
this.dialogVisible = false
},
handleCloseGg() {
this.ggVisible = false;
this.ggVisible = false
},
getProduct(index, cndex) {
this.showIndex = index;
this.showCndex = cndex;
this.getDataList();
this.dialogVisible = true;
this.showIndex = index
this.showCndex = cndex
this.getDataList()
this.dialogVisible = true
},
addProduct(index, sndex) {
if (!this.lookOver) {
this.recommendUpgradeList[index].waresBonusItemsParamList.push({
assAchieve: "",
algebra: "",
});
assAchieve: '',
algebra: ''
})
}
},
reduceProduct(index, cndex) {
@ -541,120 +493,100 @@ export default {
this.recommendUpgradeList[index].waresBonusItemsParamList.splice(
cndex,
1
);
)
}
},
reduceNewGoods() {
this.recommendUpgradeList.splice(this.recommendUpgradeList.length - 1, 1);
this.recommendUpgradeList.splice(this.recommendUpgradeList.length - 1, 1)
},
addNewGoods() {
this.recommendUpgradeList.push({
orderAssAchieve: "",
totalAlgebra: "",
pkWares: "",
orderAssAchieve: '',
totalAlgebra: '',
pkWares: '',
waresBonusItemsParamList: [
{
assAchieve: "",
algebra: "",
},
],
});
assAchieve: '',
algebra: ''
}
]
})
},
selSku(pkId, index) {
this.selIndex = index;
api
.getProductSpecs({
pkProduct: pkId,
})
.then((res) => {
let arr1 = [],
arr2 = [];
res.data.forEach((item) => {
item.pkProductSku = item.specsList[0].pkId;
arr1.push(item.specsList[0].pkId);
arr2.push(item.specsList[0].specsName);
});
this.selSkuList = arr1.join(",");
this.selSkuNameList = arr2.join(",");
this.skuList = res.data;
this.ggVisible = true;
});
},
getDataList() {
api
.waresBonusEvQuery(Object.assign(this.queryParams, this.select))
.then((res) => {
res.rows.forEach((item) => {
item.quantity = 1;
});
this.dialogList = res.rows;
this.total = res.total;
});
item.quantity = 1
})
this.dialogList = res.rows
this.total = res.total
})
},
submit() {
// let obj = Object.assign({}, this.pageData, {
// waresConfigParam: this.allData,
// });
let obj = this.recommendUpgradeList[0];
const obj = this.recommendUpgradeList[0]
console.log(
"%c [ obj ]-445",
"font-size:13px; background:#6f1b1a; color:#b35f5e;",
'%c [ obj ]-445',
'font-size:13px; background:#6f1b1a; color:#b35f5e;',
obj
);
)
if (this.isEdit == 1) {
api.waresBonusUdate(obj).then((res) => {
if (res.code == 200) {
Message({
message: res.msg,
type: "success",
});
type: 'success'
})
this.$router.push({
path: "waresBonus",
});
path: 'waresBonus'
})
}
});
})
} else {
api.waresBonusInsert(obj).then((res) => {
if (res.code == 200) {
Message({
message: res.msg,
type: "success",
});
type: 'success'
})
this.$router.push({
path: "waresBonus",
});
path: 'waresBonus'
})
}
});
})
}
},
onSelectAll() {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.clearSelection()
},
selected(selection, row) {
//
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.clearSelection()
//
//
if (selection.length == 0) return;
this.$refs.multipleTable.toggleRowSelection(row, true);
this.selectData = row;
if (selection.length == 0) return
this.$refs.multipleTable.toggleRowSelection(row, true)
this.selectData = row
},
//
selectionChange(val) {
//
this.selectData = val;
this.selectData = val
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
} else if (rowIndex % 2 == 0) {
return "success-row";
return 'success-row'
}
return "";
},
},
};
return ''
}
}
}
</script>
<style lang="scss" scoped>

View File

@ -30,8 +30,9 @@
<el-button
type="primary"
size="mini"
:disabled="addBtnDisabled"
@click="addNewGoods"
>{{ '添加' }}
>添加
</el-button>
</th>
<th
@ -62,16 +63,16 @@
class="table_b"
>
<tr style="border-top:0">
<td colspan="2">{{ '会员编号' }}</td>
<td colspan="2">{{ '会员名称' }}</td>
<td colspan="4">{{ '产品名称' }}</td>
<td colspan="4">{{ '产品规格' }}</td>
<td colspan="2">{{ '提货基数' }}</td>
<td colspan="2">会员编号</td>
<td colspan="2">会员名称</td>
<td colspan="4">产品名称</td>
<td colspan="4">产品规格</td>
<td colspan="2">提货基数</td>
<td colspan="2">可提数量</td>
<td colspan="2">增加数量</td>
<td colspan="2">{{ '截止日期' }}</td>
<td colspan="2">{{ '包邮类型' }}</td>
<td colspan="2">截止日期</td>
<td colspan="2">包邮类型</td>
<td colspan="2">提货来源</td>
</tr>
<tr
v-for="ctem,cndex in item.consumeRuleConfigList"
@ -128,8 +129,12 @@
>
</div>
</td>
<!-- 提货基数 -->
<td colspan="2" style="border-right: 1px solid #fff">
<el-input v-model="ctem.baseQuantity" :disabled="deled" />
<el-input
v-model="ctem.baseQuantity"
:disabled="deled || ctem.pickType == 8"
/>
</td>
<!-- 可提数量 -->
<td colspan="2" style="border-right: 1px solid #fff">
@ -139,22 +144,24 @@
<td colspan="2" style="border-right: 1px solid #fff">
<el-input v-model="ctem.quantity" :disabled="deled" />
</td>
<!-- 截止日期 -->
<td colspan="2" style="border-right: 1px solid #fff">
<!-- <el-input v-model="ctem.orderAchieve"></el-input>-->
<el-date-picker
v-model="ctem.receiveTime"
:disabled="deled"
:disabled="deled || (ctem.pickType == 8 && !addFlag)"
type="date"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
:placeholder="'请选择时间'"
/>
</td>
<!-- 包邮类型 -->
<td colspan="2">
<el-select
v-model="ctem.isFreeMail"
clearable
:disabled="deled"
:disabled="deled || (ctem.pickType == 8 && !addFlag)"
>
<el-option
v-for="item in postList"
@ -212,6 +219,15 @@
</el-checkbox-group>
</div>
</td>
<td colspan="2">
<el-select
v-model="ctem.pickType"
:disabled="disableds"
@change="(val) => pickTypeChange(val, ctem)"
>
<el-option v-for="item in pickTypeList" :key="item.val" :label="item.text" :value="item.val" />
</el-select>
</td>
</tr>
</table>
</div>
@ -394,14 +410,10 @@ import * as api from '@/api/giftGoods.js'
import * as apis from '@/api/product.js'
import * as api_s from '@/api/financial.js'
import topBar from '@/components/topBar'
import ImageUpload from '@/components/ImageUpload'
import { getMemberName } from '@/api/financial'
import { getQueryString } from '@/utils'
import { pickDetail } from '@/api/manage'
export default {
components: {
topBar,
ImageUpload
topBar
},
data() {
return {
@ -454,9 +466,24 @@ export default {
text: '不包邮',
val: 1
}
],
pickTypeList: [
{
text: '提货产品',
val: 0
},
{
text: '法宝券',
val: 8
}
]
}
},
computed: {
addBtnDisabled() {
return this.allData.some(item => item.consumeRuleConfigList.length > 0)
}
},
mounted() {
const geturl = window.location.href
const getqyinfo = geturl.split('?')[1]
@ -495,6 +522,7 @@ export default {
usableQuantity: res.data.usableQuantity,
quantity: 0,
isFreeMail: res.data.isFreeMail,
pickType: res.data.pickType,
waresGiftConfigList: [
{
pkProduct: res.data.detailList[0].pkProduct,
@ -514,6 +542,7 @@ export default {
usableQuantity: res.data.usableQuantity,
quantity: 0,
isFreeMail: res.data.isFreeMail,
pickType: res.data.pickType,
waresGiftConfigList: [
{
pkProduct: '',
@ -555,14 +584,21 @@ export default {
},
saveDate() {
const dataList = []
this.allData[0].consumeRuleConfigList.forEach((res) => {
this.allData[0].consumeRuleConfigList.forEach((item) => {
dataList.push(
{ 'memberCode': res.memberCode, 'pkProduct': res.waresGiftConfigList[0].pkProduct, 'memberName': res.memberName,
'productName': res.waresGiftConfigList[0].productName + res.waresGiftConfigList[0].specsName,
'receiveTime': res.receiveTime,
'specsName': res.waresGiftConfigList[0].specsName, 'specsNameId': res.waresGiftConfigList[0].specsNameId,
'baseQuantity': res.baseQuantity, 'quantity': res.quantity, 'isFreeMail': res.isFreeMail, 'pkPostage': res.pkPostage,
'pkId': res.pkId ? res.pkId : ''
{ 'memberCode': item.memberCode,
'pkProduct': item.waresGiftConfigList[0].pkProduct,
'memberName': item.memberName,
'productName': item.waresGiftConfigList[0].productName + item.waresGiftConfigList[0].specsName,
'receiveTime': item.receiveTime,
'specsName': item.waresGiftConfigList[0].specsName,
'specsNameId': item.waresGiftConfigList[0].specsNameId,
'baseQuantity': item.baseQuantity,
'quantity': item.quantity,
'isFreeMail': item.isFreeMail,
'pkPostage': item.pkPostage,
'pkId': item.pkId ? item.pkId : '',
'pickType': item.pickType
}
)
})
@ -813,8 +849,10 @@ export default {
specsName: '',
specsNameId: '',
quantity: ''
}
]
],
pickType: 0
})
}
})
@ -906,6 +944,11 @@ export default {
return 'success-row'
}
return ''
},
pickTypeChange(val, item) {
if (val === 8) {
this.$set(item, 'baseQuantity', '1')
}
}
}
}

View File

@ -111,22 +111,22 @@
<div class="main_a">
<div class="mainbtn">
<el-button
v-hasButtons="['cardAdd']"
size="small"
class="addBtn"
v-hasButtons="['cardAdd']"
@click="openDig"
>{{'添加'}}</el-button>
>{{ '添加' }}</el-button>
<el-button
v-hasButtons="['cardExport']"
size="small"
class="thebtn2"
v-hasButtons="['cardExport']"
@click="handleExport"
> {{ '导出' }}</el-button>
> 导出</el-button>
</div>
<div class="maintable">
<el-table
:data="tableData"
v-loading="loading"
:data="tableData"
style="width: 100%"
height="73vh"
:header-cell-style="{ background: '#EEEEEE' }"
@ -152,6 +152,7 @@
align="center"
prop=""
:label="'产品名称(规格)'"
min-width="230"
>
<template slot-scope="scope">
<div v-for="item in scope.row.detailList">
@ -184,8 +185,8 @@
/>
<el-table-column
align="center"
prop="usableQuantity"
:label="'可用兑换数量'"
prop="usableQuantity"
:label="'可用兑换数量'"
width="120"
/>
<el-table-column
@ -220,24 +221,28 @@
width="120"
>
<template slot-scope="scope">
<div class="btnHeng">
<div @click="toFixed(scope.row.pkId,2)"
type="text"
v-if="scope.row.pickType!=8"
v-hasButtons="['cardUpdata']"
style="color:#F3A900"
size="small">
{{ '修改' }}
<div class="btnHeng">
<div
v-hasButtons="['cardUpdata']"
type="text"
style="color:#F3A900"
size="small"
@click="toFixed(scope.row.pkId,2)"
>
{{ '修改' }}
</div>
<div
v-hasButtons="['cardDel']"
type="text"
size="small"
style="color: #C8161D"
@click="toDel(scope.row.pkId)"
>
{{ '删除' }}
</div>
</div>
<div @click="toDel(scope.row.pkId)"
type="text"
v-hasButtons="['cardDel']"
size="small"
style="color: #C8161D">
{{ '删除' }}
</div>
</div>
</template>
</el-table-column>
</el-table>
@ -257,19 +262,19 @@
<script>
import topBar from '@/components/topBar'
import * as api from '@/api/giftGoods.js'
import {tgtype} from "@/api/giftGoods.js";
import {getPickList} from "@/api/manage";
import { tgtype } from '@/api/giftGoods.js'
import { getPickList } from '@/api/manage'
export default {
name: 'Bzpz',
components: {
topBar
},
filters: {
isAgree(val) {
isAgree(val) {
if (!val) {
return '允许';
return '允许'
} else {
return '禁止';
return '禁止'
}
}
},
@ -288,7 +293,7 @@ export default {
total: 0,
dialogVisible: false,
tableData: [],
loading:false,
loading: false,
moren: 'RechargeCardList',
topList: [
{
@ -350,7 +355,7 @@ export default {
}
})
},
toDel(id){
toDel(id) {
this.$router.push({
name: 'addRechargeCard',
query: {
@ -416,7 +421,7 @@ export default {
//
getDataList() {
this.loading = true
getPickList(Object.assign({},this.queryParams,this.select))
getPickList(Object.assign({}, this.queryParams, this.select))
.then((res) => {
this.tableData = res.rows
this.total = res.total
@ -426,7 +431,7 @@ export default {
handleSelectionChange(val) {},
/** 导出按钮操作 */
handleExport() {
this.$confirm( '是否确认导出所有数据项?', '警告', {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'

View File

@ -13,9 +13,9 @@
/>
<div class="main">
<div class="thetable">
<div class="fontTitle"> {{'在线签呈'}}</div>
<div class="fontTitle"> {{ '在线签呈' }}</div>
<div class="titleflex">
<div>{{'编号'}} :</div>
<div>{{ '编号' }} :</div>
<div>
<el-radio-group v-model="allData.signType">
<el-radio
@ -36,7 +36,7 @@
colspan="1"
width="190px"
align="center"
> {{'发起部门'}} :</td>
> {{ '发起部门' }} :</td>
<td
v-if="allData.signData"
colspan="1"
@ -46,7 +46,7 @@
colspan="1"
width="140px"
align="center"
> {{'发起人'}} :</td>
> {{ '发起人' }} :</td>
<td
v-if="allData.signData"
colspan="1"
@ -56,7 +56,7 @@
<td
colspan="1"
align="center"
> {{'主旨'}} :</td>
> {{ '主旨' }} :</td>
<td
v-if="allData.signData"
colspan="1"
@ -64,7 +64,7 @@
<td
colspan="1"
align="center"
> {{'日期'}} :</td>
> {{ '日期' }} :</td>
<td
v-if="allData.signData"
colspan="1"
@ -75,7 +75,7 @@
<td
colspan="1"
align="center"
> {{'审批流程'}}</td>
> {{ '审批流程' }}</td>
<td colspan="3">
<div class="disflex">
<span
@ -117,7 +117,7 @@
<td
colspan="1"
align="center"
>{{'抄送人'}}</td>
>{{ '抄送人' }}</td>
<td colspan="3">
<div class="disflex">
<span
@ -159,12 +159,12 @@
<td
style="height: 190px"
align="center"
>{{'情况说明'}}</td>
>{{ '情况说明' }}</td>
<td
colspan="3"
style="padding: 0"
>
<div >
<div>
<el-input
v-model="allData.remark"
type="textarea"
@ -178,12 +178,12 @@
<td
style="height: 193px"
align="center"
> {{'业务诉求'}}</td>
> {{ '业务诉求' }}</td>
<td
colspan="3"
style="padding: 0;vertical-align: top;"
>
<div >
<div>
<el-table
:data="allData.updateParentParamList"
style="width: 100%"
@ -202,7 +202,7 @@
style="color: #48B2FD;text-decoration:underline;cursor: pointer"
@click="details"
>
{{'查看详情'}}
{{ '查看详情' }}
</div>
</div>
<div v-show="ctem.value!= 'actExplain'">
@ -221,7 +221,7 @@
<td
style="height: 190px"
align="center"
>{{'附件'}}</td>
>{{ '附件' }}</td>
<td
colspan="3"
style="padding: 0"
@ -239,7 +239,7 @@
<el-button
size="small"
type="primary"
>{{'点击上传'}}</el-button>
>{{ '点击上传' }}</el-button>
</el-upload>
</div>
</td>
@ -268,7 +268,6 @@ import topBar from '@/components/topBar'
import * as man from '@/api/manage'
import onlineSign from '../../dashboard/onlineSign.json'
import { getToken } from '@/utils/auth'
import { dealerSpace, makerSpace, rechargeConfirm } from '@/api/manage'
export default {
name: 'Zxqc',
components: {
@ -289,7 +288,7 @@ export default {
}
],
checkList: [],
typeEd:false,
typeEd: false,
allData: {
remark: '',
signType: 1,
@ -375,10 +374,18 @@ export default {
const dataList = []
this.allData.updateParentParamList.forEach((res) => {
dataList.push(
{ 'memberCode': res.memberCode, 'pkProduct': res.pkProduct, 'specsName': res.specsName,
'specsNameId': res.specsNameId, 'baseQuantity': res.baseQuantity, 'quantity': res.quantity,
'isFreeMail': res.isFreeMail, 'pkPostage': res.pkPostage ? res.pkPostage : '', 'pkId': res.pkId ? res.pkId : '',
'receiveTime': res.receiveTime ? res.receiveTime : ''
{ 'memberCode': res.memberCode,
'pkProduct': res.pkProduct,
'specsName': res.specsName,
'productName': res.productName,
'specsNameId': res.specsNameId,
'baseQuantity': res.baseQuantity,
'quantity': res.quantity,
'isFreeMail': res.isFreeMail,
'pkPostage': res.pkPostage ? res.pkPostage : '',
'pkId': res.pkId ? res.pkId : '',
'receiveTime': res.receiveTime ? res.receiveTime : '',
'pickType': res.pickType || 0
}
)
})
@ -395,10 +402,10 @@ export default {
sendIdList: this.allData.sendIdList // []
}
let url
if(this.typeEd){
url = man.rechargeDel
}else{
url = man.rechargeConfirm
if (this.typeEd) {
url = man.rechargeDel
} else {
url = man.rechargeConfirm
}
url(obj).then((res) => {
if (res.code == 200) {