|
@@ -0,0 +1,381 @@
|
|
|
+<template>
|
|
|
+ <div class="mod-activityMaterielBase">
|
|
|
+ <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
|
|
+ <el-form-item>
|
|
|
+ <el-input v-model="dataForm.materielCoed" placeholder="物料号(省略8个0)" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-input v-model="dataForm.materielDescribe" placeholder=" 物料描述" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-input v-model="dataForm.brandCode" placeholder="品牌" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-input v-model="dataForm.specs" placeholder="规格" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-input v-model="dataForm.hierarchy" placeholder="层级" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-input v-model="dataForm.disthing" placeholder="区分" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-input v-model="dataForm.tooDisthing" placeholder="细分" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button @click="getDataList()">查询</el-button>
|
|
|
+ <el-button v-if="isAuth('activity:activityMaterielBase:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
|
|
+ <el-button v-if="isAuth('activity:activityMaterielBase:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-table
|
|
|
+ :data="dataList"
|
|
|
+ border
|
|
|
+ v-loading="dataListLoading"
|
|
|
+ @selection-change="selectionChangeHandle"
|
|
|
+ style="width: 100%;">
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ width="50">
|
|
|
+ </el-table-column>
|
|
|
+ <!--<el-table-column
|
|
|
+ prop="salesOrganization"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="销售组织">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="distributionChannel"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="销售渠道">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="productGroup"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="产品组">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="pattern"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="花纹">
|
|
|
+ </el-table-column>
|
|
|
+ -->
|
|
|
+ <el-table-column
|
|
|
+ prop="materielCoed"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="物料编号">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="materielDescribe"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ width="200px"
|
|
|
+ label=" 物料描述">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="brandCode"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="品牌">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="specs"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="规格">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="hierarchy"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="层级">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="disthing"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="区分">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="tooDisthing"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="细分">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="creatTime"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="创建时间">
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ fixed="right"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ width="150"
|
|
|
+ label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button v-if="isAuth('activity:activityMaterielBase:edit')" type="text" size="small" @click="addOrUpdateHandle(scope.row)">修改</el-button>
|
|
|
+ <el-button v-if="isAuth('activity:activityMaterielBase:delete')" type="text" size="small" @click="deleteHandle(scope.row.mainId)">删除</el-button>
|
|
|
+ <el-button type="text" size="small" @click="showBingActivity(scope.row)">查看绑定活动信息</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ @size-change="sizeChangeHandle"
|
|
|
+ @current-change="currentChangeHandle"
|
|
|
+ :current-page="dataForm.current"
|
|
|
+ :page-sizes="[10, 20, 50, 100]"
|
|
|
+ :page-size="dataForm.size"
|
|
|
+ :total="totalPage"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper">
|
|
|
+ </el-pagination>
|
|
|
+ <!-- 弹窗, 新增 / 修改 -->
|
|
|
+ <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" :dataForm="editModel"></add-or-update>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 绑定活动弹窗 -->
|
|
|
+ <el-dialog
|
|
|
+ title="提示"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ width="80%"
|
|
|
+ >
|
|
|
+ <el-row>
|
|
|
+ <el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="80px">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="物料描述" prop="materielDescribe">
|
|
|
+ <el-input v-model="formInline.materielDescribe" :disabled="true"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="物料编号" prop="materielCoed">
|
|
|
+ <el-input v-model="formInline.materielCoed" :disabled="true"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="品牌" prop="brandCode">
|
|
|
+ <el-input v-model="formInline.brandCode" :disabled="true"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-table
|
|
|
+ :data="activityList"
|
|
|
+ border
|
|
|
+ style="width: 100%;">
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ width="50">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="activityName"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="活动名称">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="beginDate"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="开始时间">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="endDate"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="结束时间">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="storeIntegral"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="门店积分奖励">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="storeBonus"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="门店冻结奖励">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="agentBonus"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="经销商奖励">
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="dialogVisible = false">关 闭</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import AddOrUpdate from './activityMaterielBase-add-or-update'
|
|
|
+ export default {
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ dataForm: {
|
|
|
+ salesOrganization: '',
|
|
|
+ distributionChannel: '',
|
|
|
+ productGroup: '',
|
|
|
+ materielCoed: '',
|
|
|
+ materielDescribe: '',
|
|
|
+ brandCode: '',
|
|
|
+ specs: '',
|
|
|
+ pattern: '',
|
|
|
+ hierarchy: '',
|
|
|
+ disthing: '',
|
|
|
+ tooDisthing: '',
|
|
|
+ current: 1,
|
|
|
+ size: 10
|
|
|
+ },
|
|
|
+ editModel: {},
|
|
|
+ dataList: [],
|
|
|
+ totalPage: 0,
|
|
|
+ dataListLoading: false,
|
|
|
+ dataListSelections: [],
|
|
|
+ addOrUpdateVisible: false,
|
|
|
+ ialogVisible: false,
|
|
|
+ formInline: {},
|
|
|
+ dialogVisible: false,
|
|
|
+ activityList: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ AddOrUpdate
|
|
|
+ },
|
|
|
+ activated () {
|
|
|
+ this.getDataList()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 获取数据列表
|
|
|
+ getDataList () {
|
|
|
+ this.dataListLoading = true
|
|
|
+ this.$http({
|
|
|
+ url: this.$http.adornUrl('/activity/activityMaterielBase/page'),
|
|
|
+ method: 'get',
|
|
|
+ params: this.$http.adornParams(this.dataForm)
|
|
|
+ }).then(({data}) => {
|
|
|
+ if (data && data.code === 0) {
|
|
|
+ this.dataList = data.page.records
|
|
|
+ this.totalPage = data.page.total
|
|
|
+ } else {
|
|
|
+ this.dataList = []
|
|
|
+ this.totalPage = 0
|
|
|
+ }
|
|
|
+ this.dataListLoading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 每页数
|
|
|
+ sizeChangeHandle (val) {
|
|
|
+ this.dataForm.size = val
|
|
|
+ this.dataForm.current = 1
|
|
|
+ this.getDataList()
|
|
|
+ },
|
|
|
+ // 当前页
|
|
|
+ currentChangeHandle (val) {
|
|
|
+ this.dataForm.current = val
|
|
|
+ this.getDataList()
|
|
|
+ },
|
|
|
+ // 多选
|
|
|
+ selectionChangeHandle (val) {
|
|
|
+ this.dataListSelections = val
|
|
|
+ },
|
|
|
+ // 新增 / 修改
|
|
|
+ addOrUpdateHandle (row) {
|
|
|
+ this.addOrUpdateVisible = true
|
|
|
+ if (row) {
|
|
|
+ this.editModel = row
|
|
|
+ } else {
|
|
|
+ this.editModel = {
|
|
|
+ mainId: null,
|
|
|
+ salesOrganization: null,
|
|
|
+ distributionChannel: null,
|
|
|
+ productGroup: null,
|
|
|
+ materielCoed: null,
|
|
|
+ materielDescribe: null,
|
|
|
+ brandCode: null,
|
|
|
+ specs: null,
|
|
|
+ pattern: null,
|
|
|
+ hierarchy: null,
|
|
|
+ disthing: null,
|
|
|
+ tooDisthing: null,
|
|
|
+ creatTime: null,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.addOrUpdate.init()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 删除
|
|
|
+ deleteHandle (id) {
|
|
|
+ var activityMaterielBaseIds = id ? [id] : this.dataListSelections.map(item => {
|
|
|
+ return item.userId
|
|
|
+ })
|
|
|
+ this.$confirm(`确定对[id=${activityMaterielBaseIds.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ this.$http({
|
|
|
+ url: this.$http.adornUrl('/activity/activityMaterielBase/delete'),
|
|
|
+ method: 'post',
|
|
|
+ data: this.$http.adornData(activityMaterielBaseIds, false)
|
|
|
+ }).then(({data}) => {
|
|
|
+ if (data && data.code === 0) {
|
|
|
+ this.$message({
|
|
|
+ message: '操作成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 1500,
|
|
|
+ onClose: () => {
|
|
|
+ this.getDataList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message.error(data.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }).catch(() => {})
|
|
|
+ },
|
|
|
+ // 查看物料绑定的活动信息
|
|
|
+ showBingActivity (row) {
|
|
|
+ this.formInline = row
|
|
|
+ this.dialogVisible = true
|
|
|
+ // 根据物料描述查看绑定活动
|
|
|
+ this.$http({
|
|
|
+ url: this.$http.adornUrl('/activity/activityMaterielBase/getActivityByMat'),
|
|
|
+ method: 'post',
|
|
|
+ data: this.$http.adornData({'materielDescribe': row.materielDescribe})
|
|
|
+ }).then(({data}) => {
|
|
|
+ if (data && data.code === 0) {
|
|
|
+ this.activityList = data.data
|
|
|
+ } else {
|
|
|
+ this.$message.error(data.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|