Browse Source

添加轮播图

master
song 3 years ago
parent
commit
b2a04a496a
  1. BIN
      public/favicon.ico
  2. 2
      public/index.html
  3. 15
      rest/http-client.env.json
  4. 79
      rest/大唐.http
  5. 178
      src/api/carousel.js
  6. 9
      src/api/login.js
  7. BIN
      src/assets/quxia.png
  8. 118
      src/components/Banner/detailsOfDistribution.vue
  9. 60
      src/components/Banner/form.vue
  10. 280
      src/components/Banner/index.vue
  11. 118
      src/components/Detail/detailsOfDistribution.vue
  12. 60
      src/components/Detail/form.vue
  13. 268
      src/components/Detail/index.vue
  14. 292
      src/filters/code.js
  15. 4
      src/permission.js
  16. 3
      src/router/index.js
  17. 4
      src/router/menus/approval.js
  18. 4
      src/router/menus/building.js
  19. 4
      src/router/menus/department.js
  20. 25
      src/router/menus/others.js
  21. 8
      src/store/modules/user.js
  22. 24
      src/styles/index.scss
  23. 15
      src/styles/sidebar.scss
  24. 22
      src/styles/variables.scss
  25. 2
      src/utils/request.js
  26. 2
      src/views/advertisingManagement/advertisingPlan/index.vue
  27. 2
      src/views/commodityManagement/commodityClassification/classification.vue
  28. 2
      src/views/commodityManagement/commodityClassification/classificationList.vue
  29. 2
      src/views/commodityManagement/commodityClassification1/classificationList.vue
  30. 2
      src/views/commodityManagement/productList/index.vue
  31. 4
      src/views/device/group/addDeviceModal.vue
  32. 4
      src/views/device/group/index.vue
  33. 2
      src/views/device/list/index.vue
  34. 2
      src/views/distribution/equipment/index.vue
  35. 2
      src/views/distribution/field/index.vue
  36. 267
      src/views/index/index.vue
  37. 2
      src/views/inventory/detail/table1.vue
  38. 4
      src/views/inventory/list/index.vue
  39. 2
      src/views/lists/index.vue
  40. 4
      src/views/location/AddDevice2location.vue
  41. 9
      src/views/login/index.vue
  42. 2
      src/views/marketingCenter/couponManagement/index.vue
  43. 2
      src/views/marketingCenter/luckyDraw/index.vue
  44. 2
      src/views/marketingCenter/luckyDraw/luckyDrawDetails.vue
  45. 2
      src/views/marketingCenter/luckyFree/index.vue
  46. 2
      src/views/marketingCenter/noviceCourtesy/index.vue
  47. 2
      src/views/marketingCenter/paymentOfCourtesy/index.vue
  48. 2
      src/views/marketingCenter/salesPromotion/index.vue
  49. 2
      src/views/order/luckyFree/index.vue
  50. 2
      src/views/order/salesOrder/index.vue
  51. 2
      src/views/orgManage/orgManage/index.vue
  52. 2
      src/views/privilegeManagement/account/index.vue
  53. 4
      src/views/privilegeManagement/role/index.vue
  54. 2
      src/views/privilegeManagement/role/permissions.vue
  55. 2
      src/views/richText/index.vue
  56. 5
      src/views/shelfs/list/putawayShelf/centerBtns.vue
  57. 7
      src/views/shelfs/list/table.vue
  58. 2
      src/views/shelfs/replenishment/quxia.vue
  59. 3
      src/views/shelfs/status/table.vue
  60. 4
      src/views/valueAddedManagement/valueAddedAtatistics/index.vue
  61. 32
      vue.config.js

BIN
public/favicon.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 26 KiB

2
public/index.html

@ -6,7 +6,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>趣匣后台管理系统</title>
<title>大唐后台管理系统</title>
</head>
<body>

15
rest/http-client.env.json

@ -0,0 +1,15 @@
{
"$shared": {
"version": "v1",
"identifier": "wally",
"credential": "111111"
},
"dev": {
"name": "dev",
"url": "http://192.168.0.99/gateway"
},
"local": {
"version": "v2",
"url": "http://192.168.0.99/gateway"
}
}

79
rest/大唐.http

@ -0,0 +1,79 @@
@dev = http://127.0.0.1:7270/v1.0/
@test = https://test.tall.wiki/datang/v1.0/
@www = http://www.tall.wiki/gateway/yanyuan/v2.0/
@type = content-type: application/json;charset=utf-8
###网站轮播图查询
POST {{test}}/carousel/query
{{type}}
{
"param":{
"showPage":"0000"
}
}
###列表查询
GET {{test}}/content/list?showPage=0201&showPage=0210&year=&showType=1&pageNum=1&pageSize=5
###详情查询
GET {{test}}/content/detail?introId=&showPage=0101
### 查询条件
GET {{test}}/content/condition?showPage=0101
### 查询常量
GET {{test}}/constant/get?code=otherLink
-- 后台接口
### 登录 928bfd2577490322a6e19b793691467e
# @name login
POST {{test}}/back/home/login HTTP/1.1
{{type}}
{
"userName":"admin",
"password": "123456"
}
### 查询菜单
POST {{test}}back/home/menus HTTP/1.1
{{type}}
Authorization: {{login.response.body.$.data.token}}
{
}
### 添加用户
POST {{test}}/admin/add HTTP/1.1
Authorization: {{login.response.body.$.data.token}}
{{type}}
{
"avatarUrl":"https://img2.baidu.com/it/u=1111829880,955526888&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500",
"userName":"admin",
"password": "123456",
"realName":"张三",
"phone":"15500000000"
}
### 添加用户
POST {{test}}/back/contentIntro/list HTTP/1.1
{{type}}
{
}
### 查询轮播图列表
POST {{test}}/back/carousel/queryCarousel HTTP/1.1
Authorization: {{login.response.body.$.data.token}}
{{type}}
{
"pageNum": 1,
"pageSize":10,
"showPage":""
}

178
src/api/carousel.js

@ -0,0 +1,178 @@
import request from '@/utils/request'
const carousel = '/back/carousel'
/**
* 查询轮播图列表
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function POST_QUERY_CAROUSEL(params) {
return request({
url: `${carousel}/queryCarousel`,
method: 'post',
data:params
}).then(res => res.data.data)
}
/**
* 删除轮播图
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function POST_DELETE_CAROUSEL(params) {
return request({
url: `${carousel}/deleteCarousel`,
method: 'post',
data:params
}).then(res => res.data.data)
}
/**
* 设备分润 -- 分润详情
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function DETAIL_EQUIPMENT_LIST(params) {
return request({
url: "/api/admin/deviceRoyalties/detail",
method: 'get',
params
}).then(res => res.data.data)
}
/**
* 设备分润 -- 分润总数
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function COUNT_EQUIPMENT_LIST(params) {
return request({
url: "/api/admin/deviceRoyalties/count",
method: 'get',
params
}).then(res => res.data.data)
}
/**
* 设备分润 -- 生效
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function ENABLE_EQUIPMENT_LIST(params) {
return request({
url: "/api/admin/deviceRoyalties/enable",
method: 'post',
params
}).then(res => res.data.data)
}
/**
* 设备分润 -- 失效
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function DISABLE_EQUIPMENT_LIST(params) {
return request({
url: "/api/admin/deviceRoyalties/disable",
method: 'post',
params
}).then(res => res.data.data)
}
/**
* 场地分润 -- 列表
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function GET_FIELD_LIST(params) {
return request({
url: "/api/admin/locationRoyalties",
method: 'get',
params
}).then(res => res.data.data)
}
/**
* 场地分润 -- 保存分润
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function POST_FIELD_LIST(params) {
return request({
url: "/api/admin/locationRoyalties",
method: 'post',
data:params
}).then(res => res.data.data)
}
/**
* 场地分润 -- 分润总数
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function COUNT_FIELD_LIST(params) {
return request({
url: "/api/admin/locationRoyalties/count",
method: 'get',
params
}).then(res => res.data.data)
}
/**
* 场地分润 -- 分润详情
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function DETAIL_FIELD_LIST(params) {
return request({
url: "/api/admin/locationRoyalties/detail",
method: 'get',
params
}).then(res => res.data.data)
}
/**
* 场地分润 -- 生效
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function ENABLE_FIELD_LIST(params) {
return request({
url: "/api/admin/locationRoyalties/enable",
method: 'get',
params
}).then(res => res.data.data)
}
/**
* 场地分润 -- 失效
* @param params
* @returns {Promise<T | never>}
* @constructor
*/
export function DISABLE_FIELD_LIST(params) {
return request({
url: "/api/admin/locationRoyalties/disable",
method: 'get',
params
}).then(res => res.data.data)
}

9
src/api/login.js

@ -3,20 +3,19 @@ import { BASE_API } from '../config';
import qs from 'qs';
import { client_id, client_secret } from '@/config.js'
export function loginByUsername(username, password) {
//https://www.zhangxinxu.com/wordpress/2018/08/js-base64-atob-btoa-encode-decode/
let Authorization = window.btoa(`${client_id}:${client_secret}`);
const data = {
username,
userName: username,
password,
// "grant_type": 'merchant_password'
}
return axios({
url: BASE_API + '/back/home/login',
method: 'POST',
data: qs.stringify(data),
data: qs.parse(data),
headers: {
'Authorization': `Basic ${Authorization}`,
'content-type': 'application/x-www-form-urlencoded'
'Authorization': `${Authorization}`,
'content-type': 'application/json;charset=UTF-8'
},
})
}

BIN
src/assets/quxia.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 26 KiB

118
src/components/Banner/detailsOfDistribution.vue

@ -0,0 +1,118 @@
<template>
<el-row>
<el-col :span="24" style="margin-bottom: 10px;">
<div class="grid-content bg-purple-dark">
<el-col :span="12">
<div class="grid-content bg-purple">分润对象:</div>
</el-col>
<el-col :span="12">
<div class="grid-content bg-purple-light">分润比例:</div>
</el-col>
</div>
</el-col>
<el-col :span="24" v-for="(item,index) in lists" style="margin-bottom: 10px;">
<el-form :inline="true" class="demo-form-inline">
<div class="grid-content bg-purple-dark">
<el-row :gutter="15">
<el-col :span="10">
<div class="grid-content bg-purple">
<el-select v-model="item.userId" :value="item.userId" placeholder="选择分润对象">
<el-option v-for="opi in accounts" :label="opi.name" :value="opi.id"></el-option>
</el-select>
</div>
</el-col>
<el-col :span="10">
<div class="grid-content bg-purple-light">
<el-input placeholder="" @input="limitMax(item.rate,index)" v-model="item.rate" max="100" min="1"></el-input>
</div>
</el-col>
<el-col :span="4">
<div class="grid-content bg-purple-light">
<el-button type="danger" @click="deleteObj(index)" icon="el-icon-delete"></el-button>
</div>
</el-col>
</el-row>
</div>
</el-form>
</el-col>
<el-button @click="addObj">添加分润对象</el-button>
</el-row>
</template>
<script>
import {GET_ACCOUNT_LIST} from '@/api/privilegeManagement'
import {DETAIL_FIELD_LIST} from '@/api/distribution'
import Alert from "@/utils/alert";
export default {
name: "detailsOfDistribution",
props: ['currId'],
data() {
return {
lists: [],
accounts: []
}
},
watch: {
currId() {
}
},
mounted() {
this.getAccounts();
this.getDetail();
},
methods: {
getDetail() {
let params = {
id: this.currId
};
DETAIL_FIELD_LIST(params).then(res => {
this.lists = res
})
},
/**
* 添加分润对象
*/
addObj() {
let obj = {
userId: '',
rate: ''
};
this.lists.push(obj)
},
/**
* 删除分润对象
*/
deleteObj(idx) {
let lists = [];
this.lists.map((item, index) => {
if (idx != index) {
lists.push(item)
}
return item;
});
this.lists = lists
},
getAccounts() {
GET_ACCOUNT_LIST().then(res => {
this.accounts = res;
})
},
limitMax(val, idx) {
if (val >= 100 || val <= 0) {
Alert.fail('值不能大于100,小于0');
val = ''
}
this.lists[idx].rate = val;
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

60
src/components/Banner/form.vue

@ -0,0 +1,60 @@
<template>
<div class="form-container">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="场地">
<el-select v-model="formInline.locationId" value="" placeholder="场地">
<el-option label="全部" value=""></el-option>
<el-option v-for="item in locationId" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item style="padding-left:30px">
<el-button type="default" @click="resetForm1('formInline')">重置</el-button>
<el-button type="primary" @click="onSubmit">查询</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import {GET_LOCATIONS} from '@/api/common'
export default {
name: 'form-container',
props: ['label'],
data() {
return {
formInline: {
locationId: ''
},
locationId: ''
}
},
mounted() {
this.getLocationId();
},
methods: {
getLocationId() {
GET_LOCATIONS().then(res => {
this.locationId = res
})
},
onSubmit() {
this.$emit('submit', this.formInline)
},
resetForm1() {
this.formInline = {
name: ''
};
this.$emit('resetForm');
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.form-container {
padding: 20px;
background: #fff;
}
</style>

280
src/components/Banner/index.vue

@ -0,0 +1,280 @@
<template>
<div>
<div class="table">
<el-table
:data="lists"
style="width: 100%">
<el-table-column
prop="id"
label="序号"
type="index"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="图片"
align="center">
<template slot-scope="lists">
<img :src="lists.row.url" width="100%" alt="" @click="openPic(lists.row.url)">
</template>
</el-table-column>
<el-table-column
prop="name"
label="位置"
align="center">
<template slot-scope="lists">
{{ setCode(lists.row.showPage) }}
</template>
</el-table-column>
<el-table-column
prop="name"
label="状态"
align="center">
<template slot-scope="lists">
<el-tag v-if="lists.row.recStatus === 0">正常</el-tag>
<el-tag v-if="lists.row.recStatus === 1" type="info">禁用</el-tag>
<el-tag v-if="lists.row.recStatus === 2" type="danger">删除</el-tag>
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
>
<template slot-scope="lists">
<el-button
type="primary"
icon="el-icon-edit"
style="margin-right: 15px;"
@click="editModal(lists.row.id)"
size="mini">
编辑
</el-button>
<el-popover
placement="top"
width="160"
:value="visible">
<p>这是一段内容这是一段内容确定删除吗</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="visible = false">取消</el-button>
<el-button type="danger" size="mini" plain @click="deleteItem(lists.row.id)">确定</el-button>
</div>
<el-button slot="reference" @click="visible = true" type="danger" icon="el-icon-delete" size="mini">删除</el-button>
</el-popover>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
:page-size="pageSize"
layout="prev, pager, next"
:total="count"
@current-change="currentChange"
>
</el-pagination>
</div>
</div>
<el-dialog
width="400px"
:show-close="false"
:visible.sync="isEdit">
<details-of-distribution ref="distribution" :currId="id" v-if="isEdit"></details-of-distribution>
<div slot="footer" class="dialog-footer">
<el-button @click="isEdit = false">取消</el-button>
<el-button type="primary" @click="determine('ruleForm')">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
const DetailsOfDistribution = () => import('./detailsOfDistribution.vue');
import Banner from '@/components/Banner';
import {
POST_QUERY_CAROUSEL,
POST_DELETE_CAROUSEL
} from '@/api/carousel'
import Alert from "@/utils/alert";
import {pageSize} from '../../config';
import {tabList} from '../../filters/code';
export default {
name: "index",
props: {
showPage: {
type: String,
default: "0000"
}
},
data() {
return {
count: 0,
id: '',
isEdit: false,
tabList,
lists: [],
pageSize: 10,
pageNum: 1,
visible: false,
params: {
from: 0,
size: pageSize,
locationId: ''
}
}
},
mounted() {
this.getList()
},
components: {
DetailsOfDistribution,
Banner
},
methods: {
/**
* 获取轮播图列表
*/
getList() {
const { pageNum, pageSize, showPage } = this;
const params = {
pageNum,
pageSize,
showPage
};
POST_QUERY_CAROUSEL(params).then(res => {
this.lists = res.list
this.pageNum = res.pageNum
this.pageSize = res.pageSize
this.count = res.size
});
},
/**
* 分页
*/
currentChange(res) {
this.pageNum = res;
this.getList()
},
//
openPic(pic){
window.open(pic)
},
//
setCode(showPage){
const item = this.tabList.find((item) => item.code == showPage)
return item.title
},
editModal(id) {
this.isEdit = true;
this.id = id;
},
/**
* 删除
*/
deleteItem(id) {
const params = {
id
};
// POST_DELETE_CAROUSEL(params).then(() => {
// this.getList()
// });
this.visible = false
},
/**
* 已发布
* @constructor
*/
PUBLISHED(id) {
let params = {
id
};
// DISABLE_FIELD_LIST(params).then((res) => {
// let lists = [];
// this.lists.map((item) => {
// if (item.id == id) {
// item.stateText = '';
// item.enabled = false;
// }
// lists.push(item);
// return item;
// });
// this.lists = lists;
// Alert.success("");
// });
},
/**
* 已暂停或者待发布
* @constructor
*/
PAUSEDANDPENDING(id) {
let params = {
id
};
// ENABLE_FIELD_LIST(params).then((res) => {
// let lists = [];
// this.lists.map((item) => {
// if (item.id == id) {
// item.stateText = '';
// item.enabled = true;
// }
// lists.push(item);
// return item;
// });
// this.lists = lists;
// Alert.success("");
// });
},
determine() {
let that = this;
let child = this.$refs.distribution.lists;
let params = {
id: this.id,
items: child
};
for (let index in child) {
if (!child[index].rate || !child[index].userId) {
Alert.fail("值不能为空");
return false;
}
}
for (let i = 0; i < child.length; i++) {
for (let j = i + 1; j < child.length; j++) {
if (child[i].userId == child[j].userId) {
Alert.fail("分润对象不能一样");
return false;
}
}
}
// POST_FIELD_LIST(params).then(res => {
// Alert.success("");
// that.isEdit = false;
// that.getList();
// });
}
}
}
</script>
<style lang="scss" scoped>
.table {
background: #fff;
}
.pagination {
margin-top: 20px;
}
</style>

118
src/components/Detail/detailsOfDistribution.vue

@ -0,0 +1,118 @@
<template>
<el-row>
<el-col :span="24" style="margin-bottom: 10px;">
<div class="grid-content bg-purple-dark">
<el-col :span="12">
<div class="grid-content bg-purple">分润对象:</div>
</el-col>
<el-col :span="12">
<div class="grid-content bg-purple-light">分润比例:</div>
</el-col>
</div>
</el-col>
<el-col :span="24" v-for="(item,index) in lists" style="margin-bottom: 10px;">
<el-form :inline="true" class="demo-form-inline">
<div class="grid-content bg-purple-dark">
<el-row :gutter="15">
<el-col :span="10">
<div class="grid-content bg-purple">
<el-select v-model="item.userId" :value="item.userId" placeholder="选择分润对象">
<el-option v-for="opi in accounts" :label="opi.name" :value="opi.id"></el-option>
</el-select>
</div>
</el-col>
<el-col :span="10">
<div class="grid-content bg-purple-light">
<el-input placeholder="" @input="limitMax(item.rate,index)" v-model="item.rate" max="100" min="1"></el-input>
</div>
</el-col>
<el-col :span="4">
<div class="grid-content bg-purple-light">
<el-button type="danger" @click="deleteObj(index)" icon="el-icon-delete"></el-button>
</div>
</el-col>
</el-row>
</div>
</el-form>
</el-col>
<el-button @click="addObj">添加分润对象</el-button>
</el-row>
</template>
<script>
import {GET_ACCOUNT_LIST} from '@/api/privilegeManagement'
import {DETAIL_FIELD_LIST} from '@/api/distribution'
import Alert from "@/utils/alert";
export default {
name: "detailsOfDistribution",
props: ['currId'],
data() {
return {
lists: [],
accounts: []
}
},
watch: {
currId() {
}
},
mounted() {
this.getAccounts();
this.getDetail();
},
methods: {
getDetail() {
let params = {
id: this.currId
};
DETAIL_FIELD_LIST(params).then(res => {
this.lists = res
})
},
/**
* 添加分润对象
*/
addObj() {
let obj = {
userId: '',
rate: ''
};
this.lists.push(obj)
},
/**
* 删除分润对象
*/
deleteObj(idx) {
let lists = [];
this.lists.map((item, index) => {
if (idx != index) {
lists.push(item)
}
return item;
});
this.lists = lists
},
getAccounts() {
GET_ACCOUNT_LIST().then(res => {
this.accounts = res;
})
},
limitMax(val, idx) {
if (val >= 100 || val <= 0) {
Alert.fail('值不能大于100,小于0');
val = ''
}
this.lists[idx].rate = val;
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

60
src/components/Detail/form.vue

@ -0,0 +1,60 @@
<template>
<div class="form-container">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="场地">
<el-select v-model="formInline.locationId" value="" placeholder="场地">
<el-option label="全部" value=""></el-option>
<el-option v-for="item in locationId" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item style="padding-left:30px">
<el-button type="default" @click="resetForm1('formInline')">重置</el-button>
<el-button type="primary" @click="onSubmit">查询</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import {GET_LOCATIONS} from '@/api/common'
export default {
name: 'form-container',
props: ['label'],
data() {
return {
formInline: {
locationId: ''
},
locationId: ''
}
},
mounted() {
this.getLocationId();
},
methods: {
getLocationId() {
GET_LOCATIONS().then(res => {
this.locationId = res
})
},
onSubmit() {
this.$emit('submit', this.formInline)
},
resetForm1() {
this.formInline = {
name: ''
};
this.$emit('resetForm');
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.form-container {
padding: 20px;
background: #fff;
}
</style>

268
src/components/Detail/index.vue

@ -0,0 +1,268 @@
<template>
<div>
<form-container @submit="submitForm" @resetForm="resetForm"></form-container>
<div class="table">
<el-table
:data="lists"
style="width: 100%">
<el-table-column
prop="name"
label="场地图片">
<template slot-scope="lists">
<img :src="lists.row.image" width="70" height="70" alt="">
</template>
</el-table-column>
<el-table-column
prop="name"
label="名称">
</el-table-column>
<el-table-column
prop="locationName"
label="场地地址">
</el-table-column>
<el-table-column
prop="users"
label="分润人数">
</el-table-column>
<el-table-column
prop="stateText"
label="状态">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
>
<template slot-scope="lists">
<span
type="text"
size="small"
class="option-span"
@click="suspensionOfRelease(lists.row.id,lists.row.enabled)"
>
<span>{{lists.row.enabled==true?"暂停":"发布"}}</span>
</span>
<span
type="text"
size="small"
style="margin: 0 5px;"
class="option-span"
@click="editModal(lists.row.id)"
>
<span>编辑</span>
</span>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
:page-size="params.size"
layout="prev, pager, next"
:total="count"
@current-change="currentChange"
>
</el-pagination>
</div>
</div>
<el-dialog
width="400px"
:show-close="false"
:visible.sync="isEdit">
<details-of-distribution ref="distribution" :currId="id" v-if="isEdit"></details-of-distribution>
<div slot="footer" class="dialog-footer">
<el-button @click="isEdit = false">取消</el-button>
<el-button type="primary" @click="determine('ruleForm')">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
const FormContainer = () => import('./form.vue');
const DetailsOfDistribution = () => import('./detailsOfDistribution.vue');
import Banner from '@/components/Banner';
import {
GET_FIELD_LIST,
POST_FIELD_LIST,
ENABLE_FIELD_LIST,
DISABLE_FIELD_LIST,
COUNT_FIELD_LIST
} from '@/api/distribution'
import Alert from "@/utils/alert";
import {pageSize} from '../../config';
export default {
name: "index",
data() {
return {
count: 0,
id: '',
isEdit: false,
lists: [],
params: {
from: 0,
size: pageSize,
locationId: ''
}
}
},
mounted() {
this.getList()
},
components: {
FormContainer,
DetailsOfDistribution,
Banner
},
methods: {
submitForm(res) {
this.params = {
...this.params,
locationId: res.locationId,
};
this.getList()
},
resetForm() {
this.params = {
from: 0,
size: pageSize,
locationId: ''
};
this.getList()
},
getList() {
GET_FIELD_LIST(this.params).then(res => {
res.map((item) => {
item.stateText = item.enabled ? '生效中' : '失效中';
item.locationName = item.province + item.city + item.district + item.name;
return item
});
this.lists = res
});
COUNT_FIELD_LIST(this.params).then(res => {
this.count = res
})
},
/**
* 分页
*/
currentChange(res) {
this.params = {
...this.params,
from: parseInt(res - 1) * this.params.size,
size: pageSize,
};
this.getList()
},
editModal(id) {
this.isEdit = true;
this.id = id;
},
/**
* 状态操作
*/
suspensionOfRelease(id, enabled) {
if (enabled) {
this.PUBLISHED(id)
} else {
this.PAUSEDANDPENDING(id)
}
},
/**
* 已发布
* @constructor
*/
PUBLISHED(id) {
let params = {
id
};
DISABLE_FIELD_LIST(params).then((res) => {
let lists = [];
this.lists.map((item) => {
if (item.id == id) {
item.stateText = '失效中';
item.enabled = false;
}
lists.push(item);
return item;
});
this.lists = lists;
Alert.success("已失效");
});
},
/**
* 已暂停或者待发布
* @constructor
*/
PAUSEDANDPENDING(id) {
let params = {
id
};
ENABLE_FIELD_LIST(params).then((res) => {
let lists = [];
this.lists.map((item) => {
if (item.id == id) {
item.stateText = '生效中';
item.enabled = true;
}
lists.push(item);
return item;
});
this.lists = lists;
Alert.success("已生效");
});
},
determine() {
let that = this;
let child = this.$refs.distribution.lists;
let params = {
id: this.id,
items: child
};
for (let index in child) {
if (!child[index].rate || !child[index].userId) {
Alert.fail("值不能为空");
return false;
}
}
for (let i = 0; i < child.length; i++) {
for (let j = i + 1; j < child.length; j++) {
if (child[i].userId == child[j].userId) {
Alert.fail("分润对象不能一样");
return false;
}
}
}
POST_FIELD_LIST(params).then(res => {
Alert.success("添加成功");
that.isEdit = false;
that.getList();
});
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.table {
background: #fff;
.option-span {
color: #a90500;
cursor: pointer;
}
}
.pagination {
margin-top: 20px;
}
</style>

292
src/filters/code.js

@ -0,0 +1,292 @@
export const tabList = [
{
title: '首页',
code: '0000',
},
// 公司概况
{
title: '公司简介',
code: '0101',
},
{
title: '公司领导',
code: '0102',
},
{
title: '组织架构',
code: '0103',
},
{
title: '企业VI',
code: '0104',
},
{
title: '联系方式',
code: '0105',
},
// 新闻中心
{
title: '集团新闻',
code: '0201',
},
{
title: '省公司新闻',
code: '0202',
},
{
title: '公司新闻',
code: '0203',
},
{
title: '图片新闻',
code: '0204',
},
{
title: '热点专题',
code: '0205',
},
{
title: '媒体关注',
code: '0206',
},
{
title: '视频新闻',
code: '0207',
},
{
title: '专题片',
code: '0208',
},
{
title: '企业画册',
code: '0209',
},
{
title: '现场风采',
code: '0210',
},
// 党的建设
{
title: '中心组学习',
code: '0301',
},
{
title: '示范党委',
code: '0302',
},
{
title: '党支部达标',
code: '0303',
},
{
title: '群团工作',
code: '0304',
},
{
title: '党建动态',
code: '0305',
},
{
title: '党风廉政',
code: '0306',
},
// 安全生产
{
title: '安全会议',
code: '0401',
},
{
title: '安全生产记录',
code: '0402',
},
{
title: '应急管理',
code: '0403',
},
{
title: '三讲一落实',
code: '0404',
},
{
title: '曝光台',
code: '0405',
},
// 通知公告
{
title: '通知',
code: '0501',
},
{
title: '通报',
code: '0502',
},
{
title: '公告',
code: '0503',
},
{
title: '值班安排',
code: '0504',
},
{
title: '浮窗',
code: '0505',
},
// 信息公开
{
title: '基本信息',
code: '0601',
},
{
title: '经营管理',
code: '0602',
},
{
title: '公司公告',
code: '0603',
},
{
title: '社会责任',
code: '0604',
},
{
title: '关于信息公开',
code: '0605',
},
// 审批事项
{
title: '公务用车',
code: '',
},
{
title: '领导干部外出报备',
code: '',
},
{
title: '疫情防控',
code: '',
},
{
title: '用印申请',
code: '',
},
{
title: '业务招待事项',
code: '',
},
{
title: '会议室使用',
code: '',
},
{
title: '办公用品领用',
code: '',
},
// 制度资料
{
title: '集团公司制度',
code: '0801',
},
{
title: '山西公司制度',
code: '0802',
},
{
title: '行业标准与制度',
code: '0803',
},
{
title: '公司制度',
code: '0804',
},
{
title: '地方规章',
code: '0805',
},
{
title: '培训课件',
code: '0806',
},
{
title: '培训影像',
code: '0807',
},
{
title: '科技创新',
code: '0808',
},
// 部门首页
{
title: '总经理工作部',
code: '0901',
},
{
title: '计划营销部',
code: '0902',
},
{
title: '财务管理部',
code: '0903',
},
{
title: '人力资源部',
code: '0904',
},
{
title: '党群工作部',
code: '0905',
},
{
title: '纪委办公室(审计部)',
code: '0906',
},
{
title: '燃料采购部',
code: '0907',
},
{
title: '物资管理部',
code: '0908',
},
{
title: '项目开发部',
code: '0909',
},
{
title: '燃料质量验收部',
code: '0910',
},
{
title: '安全监督部',
code: '0911',
},
{
title: '设备部',
code: '0912',
},
{
title: '发电部',
code: '0913',
},
{
title: '维护部',
code: '0914',
},
{
title: '热工专业',
code: '0915',
},
{
title: '电气专业',
code: '0916',
},
// 其他
{
title: '光荣榜',
code: '9902',
},
{
title: '今天我出境',
code: '9903',
},
]

4
src/permission.js

@ -20,11 +20,7 @@ router.beforeEach((to, from, next) => {
} else {
next('/login')
}
}
})
router.afterEach(() => {

3
src/router/index.js

@ -35,7 +35,8 @@ export const constantRoutes = [
require("./menus/approval.js").default,
require("./menus/system.js").default,
require("./menus/department.js").default,
{ path: '*', redirect: '/404', hidden: true }
require("./menus/others.js").default,
{ path: '*', redirect: '/404', hidden: true },
// {
// path: '/dashboard',
// component: Layout,

4
src/router/menus/approval.js

@ -1,6 +1,6 @@
import Layout from '@/views/layout/Layout'
const commodityManagement = {
const approval = {
path: '/approval',
component: Layout,
meta: {title: '审批事项', icon: 'dingdan', noCache: true, affix: false},
@ -57,4 +57,4 @@ const commodityManagement = {
]
};
export default commodityManagement
export default approval

4
src/router/menus/building.js

@ -1,6 +1,6 @@
import Layout from '@/views/layout/Layout'
const commodityManagement = {
const building = {
path: '/building',
component: Layout,
meta: {title: '党的建设', icon: 'dingdan', noCache: true, affix: false},
@ -50,4 +50,4 @@ const commodityManagement = {
]
};
export default commodityManagement
export default building

4
src/router/menus/department.js

@ -1,6 +1,6 @@
import Layout from '@/views/layout/Layout'
const commodityManagement = {
const department = {
path: '/department',
component: Layout,
meta: {title: '部门首页', icon: 'dingdan', noCache: true, affix: false},
@ -120,4 +120,4 @@ const commodityManagement = {
]
};
export default commodityManagement
export default department

25
src/router/menus/others.js

@ -0,0 +1,25 @@
import Layout from '@/views/layout/Layout'
const others = {
path: '/others',
component: Layout,
meta: {title: '其他', icon: 'dingdan', noCache: true, affix: false},
children: [
{
path: '/others1',
code: '9902',
component: () => import('@/views/lists/index'),
name: '光荣榜',
meta: {title: '光荣榜', noCache: false, affix: false}
},
{
path: '/others2',
code: '9903',
component: () => import('@/views/lists/index'),
name: '今天我出境',
meta: {title: '今天我出境', noCache: false, affix: false},
},
]
};
export default others

8
src/store/modules/user.js

@ -51,11 +51,11 @@ const user = {
loginByUsername(username, userInfo.password).then(response => {
if (!response.data) { reject(response.code); return false }
const data = response.data
if (data.access_token) {
commit('SET_TOKEN', data.access_token)
setToken(response.data.access_token)
if (data.data.token) {
commit('SET_TOKEN', data.data.token)
setToken(response.data.data.token)
}
resolve(response.data.access_token)
resolve(response.data.data)
}).catch(error => {
reject(error)
})

24
src/styles/index.scss

@ -65,6 +65,26 @@ div:focus {
float: left;
}
.pa-1 {
padding: 4px;
}
.pa-2 {
padding: 8px;
}
.pa-3 {
padding: 12px;
}
.pa-4 {
padding: 16px;
}
.pa-5 {
padding: 20px;
}
.pr-5 {
padding-right: 5px;
}
@ -134,6 +154,10 @@ code {
padding: 20px;
}
.white {
background: #fff;
}
.components-container {
margin: 30px 50px;
position: relative;

15
src/styles/sidebar.scss

@ -59,15 +59,23 @@
}
// menu hover
.is-active>.el-submenu__title {
font-weight: bold;
color: $subMenuActiveText !important;
}
.submenu-title-noDropdown,
.el-submenu__title {
&:hover {
background-color: $menuHover !important;
color: $menuHoverText !important;
}
}
.is-active>.el-submenu__title {
color: $subMenuActiveText !important;
& .nest-menu .el-submenu>.el-submenu__title,
& .el-submenu .el-menu-item.is-active {
color: $subMenuBgActiveText !important;
background-color: $subMenuBgActiveBg !important;
}
& .nest-menu .el-submenu>.el-submenu__title,
@ -77,8 +85,11 @@
&:hover {
background-color: $subMenuHover !important;
color: $subMenuBgActiveText !important;
}
}
}
.hideSidebar {

22
src/styles/variables.scss

@ -7,21 +7,26 @@ $green: #30B08F;
$tiffany: #4AB7BD;
$yellow:#FEC171;
$panGreen: #30B08F;
$gray: #aaa;
//sidebar
$menuText:#bfcbd9;
$menuActiveText:#409EFF;
$subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951
$menuText:#333;
$menuActiveText:#a90500;
$subMenuActiveText:#a90500; //https://github.com/ElemeFE/element/issues/12951
$menuBg:#304156;
$menuHover:#263445;
$menuBg:#fff;
$menuHover:#b54343;
$menuHoverText:#fff;
$subMenuBg:#1f2d3d;
$subMenuHover:#001528;
$subMenuBg:#fff;
$subMenuHover:#b54343;
$pageBg:#f4f4f5;
$sideBarWidth: 210px;
$subMenuBgActiveText: #fff;
$subMenuBgActiveBg: #870400;
// the :export directive is the magic sauce for webpack
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
:export {
@ -30,7 +35,10 @@ $sideBarWidth: 210px;
subMenuActiveText: $subMenuActiveText;
menuBg: $menuBg;
menuHover: $menuHover;
menuHoverText: $menuHoverText;
subMenuBg: $subMenuBg;
subMenuHover: $subMenuHover;
sideBarWidth: $sideBarWidth;
subMenuBgActiveBg: $subMenuBgActiveBg;
subMenuBgActiveText: $subMenuBgActiveText;
}

2
src/utils/request.js

@ -17,7 +17,7 @@ service.interceptors.request.use(
config => {
// Do something before request is sent
if (getCookie('access_token')) {
config.headers['Authorization'] = `Bearer ${getCookie('access_token')}`
config.headers['Authorization'] = `${getCookie('access_token')}`
}
//如果参数value是空,就不需要传给后台

2
src/views/advertisingManagement/advertisingPlan/index.vue

@ -248,7 +248,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/commodityManagement/commodityClassification/classification.vue

@ -297,7 +297,7 @@
padding: 20px;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
margin-right: 10px;
}

2
src/views/commodityManagement/commodityClassification/classificationList.vue

@ -212,7 +212,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/commodityManagement/commodityClassification1/classificationList.vue

@ -208,7 +208,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/commodityManagement/productList/index.vue

@ -271,7 +271,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

4
src/views/device/group/addDeviceModal.vue

@ -27,14 +27,14 @@
icon-class="right"
class="icon left"
@click="toRight"
:style="{background:clickType=='clickleft'?'#409EFF':'#bfcbd9',
:style="{background:clickType=='clickleft'?'#a90500':'#bfcbd9',
cursor:clickType=='clickleft'?'pointer':'not-allowed' }"
/>
<svg-icon
icon-class="left"
class="icon right"
@click="toLeft"
:style="{background:clickType=='clickright'?'#409EFF':'#bfcbd9',
:style="{background:clickType=='clickright'?'#a90500':'#bfcbd9',
cursor:clickType=='clickright'?'pointer':'not-allowed',marginTop:'10px' }"
/>
</div>

4
src/views/device/group/index.vue

@ -29,13 +29,13 @@
<el-button
type="text"
size="small"
style="color:#409EFF"
style="color:#a90500"
@click="toEdit(scope.row)"
>编辑</el-button>
<el-button
type="text"
size="small"
style="color:#409EFF"
style="color:#a90500"
@click="go2addDevice(scope.row)"
>添加设备</el-button>
<el-button type="text" size="small" @click="deleteGroup(scope.row)">删除</el-button>

2
src/views/device/list/index.vue

@ -38,7 +38,7 @@
<router-link
type="text"
size="small"
style="color:#409EFF;margin-right:10px;"
style="color:#a90500;margin-right:10px;"
:to="`/device/list/edit?id=${scope.row.id}`"
>编辑</router-link>
<el-button type="text" size="small" @click="seeCode(scope.row.id)">二维码</el-button>

2
src/views/distribution/equipment/index.vue

@ -263,7 +263,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/distribution/field/index.vue

@ -258,7 +258,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

267
src/views/index/index.vue

@ -1,269 +1,40 @@
<template>
<div>
<form-container @submit="submitForm" @resetForm="resetForm"></form-container>
<div class="table">
<el-table
:data="lists"
style="width: 100%">
<el-table-column
prop="name"
label="场地图片">
<template slot-scope="lists">
<img :src="lists.row.image" width="70" height="70" alt="">
</template>
</el-table-column>
<el-table-column
prop="name"
label="名称">
</el-table-column>
<el-table-column
prop="locationName"
label="场地地址">
</el-table-column>
<el-table-column
prop="users"
label="分润人数">
</el-table-column>
<el-table-column
prop="stateText"
label="状态">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
>
<template slot-scope="lists">
<span
type="text"
size="small"
class="option-span"
@click="suspensionOfRelease(lists.row.id,lists.row.enabled)"
>
<span>{{lists.row.enabled==true?"暂停":"发布"}}</span>
</span>
<span
type="text"
size="small"
style="margin: 0 5px;"
class="option-span"
@click="editModal(lists.row.id)"
>
<span>编辑</span>
</span>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
:page-size="params.size"
layout="prev, pager, next"
:total="count"
@current-change="currentChange"
>
</el-pagination>
</div>
</div>
<el-dialog
width="400px"
:show-close="false"
:visible.sync="isEdit">
<details-of-distribution ref="distribution" :currId="id" v-if="isEdit"></details-of-distribution>
<div slot="footer" class="dialog-footer">
<el-button @click="isEdit = false">取消</el-button>
<el-button type="primary" @click="determine('ruleForm')">确定</el-button>
</div>
</el-dialog>
<div class="pa-4 white">
<el-tabs type="border-card" v-model="activeName" @tab-click="handleClick(activeName)">
<el-tab-pane label="轮播图管理" name="IMAGE">
<banner :showPage="showPage" />
</el-tab-pane>
<el-tab-pane label="详情页管理" name="DETAIL">
<detail />
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
const FormContainer = () => import('./form.vue');
const DetailsOfDistribution = () => import('./detailsOfDistribution.vue');
import {
GET_FIELD_LIST,
POST_FIELD_LIST,
ENABLE_FIELD_LIST,
DISABLE_FIELD_LIST,
COUNT_FIELD_LIST
} from '@/api/distribution'
import Alert from "@/utils/alert";
import {pageSize} from '../../config';
import Banner from '@/components/Banner';
import Detail from '@/components/Detail';
export default {
name: "index",
components: {
Banner,
Detail
},
data() {
return {
count: 0,
id: '',
isEdit: false,
lists: [],
params: {
from: 0,
size: pageSize,
locationId: ''
}
activeName: 'IMAGE',
showPage: '0000'
}
},
mounted() {
this.getList()
},
components: {
FormContainer,
DetailsOfDistribution
},
methods: {
submitForm(res) {
this.params = {
...this.params,
locationId: res.locationId,
};
this.getList()
},
resetForm() {
this.params = {
from: 0,
size: pageSize,
locationId: ''
};
this.getList()
},
getList() {
GET_FIELD_LIST(this.params).then(res => {
res.map((item) => {
item.stateText = item.enabled ? '生效中' : '失效中';
item.locationName = item.province + item.city + item.district + item.name;
return item
});
this.lists = res
});
COUNT_FIELD_LIST(this.params).then(res => {
this.count = res
})
handleClick() {
console.log('切换tab');
},
/**
* 分页
*/
currentChange(res) {
this.params = {
...this.params,
from: parseInt(res - 1) * this.params.size,
size: pageSize,
};
this.getList()
},
editModal(id) {
this.isEdit = true;
this.id = id;
},
/**
* 状态操作
*/
suspensionOfRelease(id, enabled) {
if (enabled) {
this.PUBLISHED(id)
} else {
this.PAUSEDANDPENDING(id)
}
},
/**
* 已发布
* @constructor
*/
PUBLISHED(id) {
let params = {
id
};
DISABLE_FIELD_LIST(params).then((res) => {
let lists = [];
this.lists.map((item) => {
if (item.id == id) {
item.stateText = '失效中';
item.enabled = false;
}
lists.push(item);
return item;
});
this.lists = lists;
Alert.success("已失效");
});
},
/**
* 已暂停或者待发布
* @constructor
*/
PAUSEDANDPENDING(id) {
let params = {
id
};
ENABLE_FIELD_LIST(params).then((res) => {
let lists = [];
this.lists.map((item) => {
if (item.id == id) {
item.stateText = '生效中';
item.enabled = true;
}
lists.push(item);
return item;
});
this.lists = lists;
Alert.success("已生效");
});
},
determine() {
let that = this;
let child = this.$refs.distribution.lists;
let params = {
id: this.id,
items: child
};
for (let index in child) {
if (!child[index].rate || !child[index].userId) {
Alert.fail("值不能为空");
return false;
}
}
for (let i = 0; i < child.length; i++) {
for (let j = i + 1; j < child.length; j++) {
if (child[i].userId == child[j].userId) {
Alert.fail("分润对象不能一样");
return false;
}
}
}
POST_FIELD_LIST(params).then(res => {
Alert.success("添加成功");
that.isEdit = false;
that.getList();
});
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.table {
margin-top: 20px;
padding: 30px;
background: #fff;
.option-span {
color: #409EFF;
cursor: pointer;
}
}
.pagination {
margin-top: 20px;
}
</style>

2
src/views/inventory/detail/table1.vue

@ -125,5 +125,3 @@ export default {
background: #fff;
}
</style>

4
src/views/inventory/list/index.vue

@ -113,9 +113,7 @@ export default {
}
}
.option-span {
color: #409eff;
color: #a90500;
cursor: pointer;
}
</style>

2
src/views/lists/index.vue

@ -258,7 +258,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

4
src/views/location/AddDevice2location.vue

@ -125,14 +125,14 @@ export default {
leftStyle() {
return {
color: "#fff",
background: this.isClickLeft ? "#409EFF" : "#bfcbd9",
background: this.isClickLeft ? "#a90500" : "#bfcbd9",
cursor: this.isClickLeft ? "pointer" : "not-allowed"
};
},
rightStyle() {
return {
color: "#fff",
background: this.isClickRight ? "#409EFF" : "#bfcbd9",
background: this.isClickRight ? "#a90500" : "#bfcbd9",
cursor: this.isClickRight ? "pointer" : "not-allowed"
};
},

9
src/views/login/index.vue

@ -9,7 +9,7 @@
label-position="left"
>
<div class="title-container">
<h3 class="title">趣匣后台管理系统</h3>
<h3 class="title">大唐后台管理系统</h3>
</div>
<el-form-item prop="username">
@ -117,16 +117,17 @@ export default {
this.passwordType = "password";
}
},
//
handleLogin() {
this.$refs.loginForm.validate(valid => {
if (valid) {
this.loading = true;
this.$store
.dispatch("LoginByUsername", this.loginForm)
.then(access_token => {
.then(res => {
this.loading = false;
if (access_token) {
setCookie("access_token", access_token);
if (res.token) {
setCookie("access_token", res.token);
this.$store.state.user.user = this.loginForm.username;
setCookie("LoginByUsername", JSON.stringify(this.loginForm));
this.$router.push({

2
src/views/marketingCenter/couponManagement/index.vue

@ -472,7 +472,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/marketingCenter/luckyDraw/index.vue

@ -262,7 +262,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/marketingCenter/luckyDraw/luckyDrawDetails.vue

@ -461,7 +461,7 @@
}
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}

2
src/views/marketingCenter/luckyFree/index.vue

@ -262,7 +262,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/marketingCenter/noviceCourtesy/index.vue

@ -325,7 +325,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/marketingCenter/paymentOfCourtesy/index.vue

@ -261,7 +261,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/marketingCenter/salesPromotion/index.vue

@ -321,7 +321,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/order/luckyFree/index.vue

@ -158,7 +158,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/order/salesOrder/index.vue

@ -191,7 +191,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/orgManage/orgManage/index.vue

@ -413,7 +413,7 @@
padding: 0 20px 0 20px;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/privilegeManagement/account/index.vue

@ -365,7 +365,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

4
src/views/privilegeManagement/role/index.vue

@ -189,7 +189,7 @@
height: 100%;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
@ -203,7 +203,7 @@
border-right: 1px solid #d9d9d9;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/privilegeManagement/role/permissions.vue

@ -395,7 +395,7 @@
border-right: 1px solid #d9d9d9;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

2
src/views/richText/index.vue

@ -258,7 +258,7 @@
background: #fff;
.option-span {
color: #409EFF;
color: #a90500;
cursor: pointer;
}
}

5
src/views/shelfs/list/putawayShelf/centerBtns.vue

@ -34,14 +34,14 @@ export default {
leftStyle() {
return {
color: "#fff",
background: this.isClickLeft ? "#409EFF" : "#bfcbd9",
background: this.isClickLeft ? "#a90500" : "#bfcbd9",
cursor: this.isClickLeft ? "pointer" : "not-allowed"
};
},
rightStyle() {
return {
color: "#fff",
background: this.isClickRight ? "#409EFF" : "#bfcbd9",
background: this.isClickRight ? "#a90500" : "#bfcbd9",
cursor: this.isClickRight ? "pointer" : "not-allowed"
};
},
@ -80,4 +80,3 @@ export default {
}
}
</style>

7
src/views/shelfs/list/table.vue

@ -14,7 +14,7 @@
<template slot-scope="scope">
<div
:to="'/shelfs/detail?id='+scope.row.id"
style="color:#409EFF;cursor:pointer;"
style="color:#a90500;cursor:pointer;"
>{{scope.row.name}}</div>
</template>
</el-table-column>
@ -31,13 +31,13 @@
<el-button
type="text"
size="small"
style="color:#409EFF"
style="color:#a90500"
@click="$router.push(`/shelfs/putaway?id=${scope.row.id}`)"
>上架</el-button>
<el-button
type="text"
size="small"
style="color:#409EFF"
style="color:#a90500"
@click="deleteShelf1(scope.row)"
>删除</el-button>
</template>
@ -140,4 +140,3 @@ export default {
}
};
</script>

2
src/views/shelfs/replenishment/quxia.vue

@ -48,7 +48,7 @@
<el-tooltip class="item" effect="dark" :content="content" placement="top">
<el-switch
v-model="scope.row.checked"
active-color="#409eff"
active-color="#a90500"
inactive-color="#dcdfe6">
</el-switch>
</el-tooltip>

3
src/views/shelfs/status/table.vue

@ -33,7 +33,7 @@
<template slot-scope="scope">
<div
:to="'/shelfs/detail?id='+scope.row.id"
style="color:#409EFF;cursor:pointer;"
style="color:#a90500;cursor:pointer;"
>{{scope.row.name}}</div>
</template>
</el-table-column>
@ -152,4 +152,3 @@ header {
}
}
</style>

4
src/views/valueAddedManagement/valueAddedAtatistics/index.vue

@ -88,7 +88,7 @@
<el-table-column
label="操作">
<template slot-scope="scope">
<span @click="itemDetail(scope.row.id)" style="color: #409EFF; cursor: pointer;">详情</span>
<span @click="itemDetail(scope.row.id)" style="color: #a90500; cursor: pointer;">详情</span>
</template>
</el-table-column>
</el-table>
@ -278,7 +278,7 @@
}
.active {
border-bottom: 2px solid #409EFF;
border-bottom: 2px solid #a90500;
}
}

32
vue.config.js

@ -1,22 +1,26 @@
// vue.config.js
var path = require("path")
var path = require("path");
const BASE_API = "https://test.tall.wiki/datang/v1.0"
const proxyUrl = '/datang/v1.0'
const port = 8080
module.exports = {
// devServer: {
// port,
// proxy: {
// change xxx-api/login => mock/login
// detail: https://cli.vuejs.org/config/#devserver-proxy
// ['/api']: {
// target: `http://localhost:${port}/mock`,
// changeOrigin: true,
// ['^' + "/api"]: ''
// pathRewrite: {
// }
// }
// },
devServer: {
open: true,
overlay: {
warnings: false,
errors: true,
},
proxy: {
[proxyUrl]: {
target: BASE_API, // 代理接口
changeOrigin: true,
pathRewrite: { [`^${proxyUrl}`]: '' },
},
},
},
// after(app) {
// const baseConfig = require('./babel.config')
// require('babel-register')({

Loading…
Cancel
Save