From 39e3418029d20dd6d2a5dee0850ce5b097f566c6 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Fri, 30 Aug 2024 16:51:08 +0800 Subject: [PATCH] put name --- .history/src/tool/https_20240730122739.js | 149 +++++++ .history/src/tool/https_20240814143954.js | 149 +++++++ .history/vue.config_20240812101644.js | 46 +++ .history/vue.config_20240823234240.js | 46 +++ public/index.html | 2 +- src/assets/iconfont/iconfont.json | 2 +- src/assets/iconfont2/iconfont.css | 22 +- src/assets/iconfont2/iconfont.woff | Bin 0 -> 1960 bytes src/assets/iconfont2/iconfont.woff2 | Bin 0 -> 1460 bytes src/router/index.ts | 10 + src/tool/https.js | 5 +- src/views/LoginPage.vue | 47 ++- src/views/childView/exportExcil.vue | 31 +- .../growingThroughLifeList.vue | 193 +++++++++ .../growingThroughLifeTask.vue | 387 ++++++++++++++++++ src/views/childView/productManage.vue | 14 + .../childView/systemSetting/roleManage.vue | 28 +- 17 files changed, 1102 insertions(+), 29 deletions(-) create mode 100644 .history/src/tool/https_20240730122739.js create mode 100644 .history/src/tool/https_20240814143954.js create mode 100644 .history/vue.config_20240812101644.js create mode 100644 .history/vue.config_20240823234240.js create mode 100644 src/assets/iconfont2/iconfont.woff create mode 100644 src/assets/iconfont2/iconfont.woff2 create mode 100644 src/views/childView/growingThroughLife/growingThroughLifeList.vue create mode 100644 src/views/childView/growingThroughLife/growingThroughLifeTask.vue diff --git a/.history/src/tool/https_20240730122739.js b/.history/src/tool/https_20240730122739.js new file mode 100644 index 0000000..515e93e --- /dev/null +++ b/.history/src/tool/https_20240730122739.js @@ -0,0 +1,149 @@ +import axios from 'axios' +// import qs from 'qs' +// import message from '@/components/public/message/src' + +import router from '@/router/index' +import {getCookie} from '@/tool/cookie' +// import cookie from '@/tools/cookie.js' + +axios.defaults.timeout = 60000 * 60; //响应时间 +axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; //配置请求头 +axios.defaults.withCredentials = true; //跨域携带cookie +import { message } from 'ant-design-vue'; +axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //配置接口地址 + +//POST传参序列化(添加请求拦截器) +axios.interceptors.request.use((config) => { + //在发送请求之前做某件事 + if(config.method === 'post' || config.method === 'put' || config.method === 'delete'){ + // config.data = qs.stringify(config.data); + // config.data = JSON.stringify(config.data); + } + + config.headers.Authorization = getCookie('token'); + return config; +},(error) =>{ + return Promise.reject(error); +}); + +//返回状态判断(添加响应拦截器) +axios.interceptors.response.use((res) =>{ + if (res.data) { + if (res.data.errCode === 0) { + return Promise.resolve(res.data.data); + + } else if(!res.data.errMsg){ + let obj = { + data:res.data, + type:res.headers['content-type'], + name:res.headers['content-disposition'], + } + return Promise.resolve(obj); + }else{ + message.error(res.data.errMsg) + return Promise.reject(res.data); + } + } else{ + message.error(res.data.errMsg) + return Promise.reject(res.data); + } + +}, function(error) { + if(error?.response?.status === 401){ + router.replace('/login') + return Promise.reject() + } + let data_new = error?.response?.data + message.error(data_new?.errMsg || 'Error: server exception') + return Promise.reject(data_new); + +}); + +export const Https = { + httpUrls: { + interfaceUrl: '', + accountLogin:'/api/account/login', //登入 + accountLogout:'/api/account/logout',//登出 + queryStorePage:'/api/store/queryStorePage',//门店分页列表 + sotreSaveOrEdit:'/api/store/saveOrEdit',//新增或编辑门店 + storeDelete:'/api/store/delete',//删除门店 + labelQueryStorePage:'/api/label/queryStorePage',//标签分页列表 + labelSaveOrEdit:'/api/label/saveOrEdit', //新增或编辑标签 + labelDelete:'/api/label/delete',//删除标签 + accountQueryUserPage:'/api/account/queryUserPage',//用户分页列表 + storeQueryAll:'/api/store/queryAll',//下拉-查询所有店铺 + roleQueryRolePage:'/api/role/queryRolePage', //角色分页列表 + roleQueryAll:'/api/role/queryAll', // 下拉-查询所有角色 + accountSaveOrEdit:'/api/account/saveOrEdit',//添加或编辑账号 + accountEnable:'/api/account/enable', // 禁用-停用账户 + accountDelete:'/api/account/delete',//删除账户 + roleQueryPermissionList:'/api/role/queryPermissionList',//查询权限列表 + roleSaveOrEdit:'/api/role/saveOrEdit', //新增或编辑角色 + roleDelete:'/api/role/delete', //删除角色 + queryProductPage:'/api/product/queryProductPage',//商品分页列表 + queryProductLabel:'/api/label/queryProductLabel',//下拉-查询所有商品标签 + queryProductAssortmentPage:'/api/product/queryProductAssortmentPage',//商品搭配分页列表 + attributeQueryAll:'/api/attribute/queryAll',//下拉-查询所有属性值 + productConfirmUpload:'/api/product/confirmUpload', + countWorkBench:'/api/product/countWorkBench',//首页工作台统计 + batchUploadProductRelation:'/api/product/batchUploadProductRelation',//批量上传商品后传对应的关联信息,新增商品 + productDelete:'/api/product/delete', //删除商品 + countProductUpdateProcess:'/api/product/countProductUpdateProcess', //统计商品批量上传进度 + productEdit:'/api/product/edit',//编辑商品 + productDetail:'/api/product/detail',//商品详情 + doOnSale:'/api/product/doOnSale', //上架-下架商品 + queryUsrPermission:'/api/role/queryUsrPermission',//菜单权限 + queryProductStore:'/api/store/queryProductStore', //下拉-查询所有商品店铺 + exportProduct:'/api/product/exportProduct', //商品导出 + miTuExportPage:'/api/miTuExport/miTuExportPage', //获取导出报表列表 + miTuExportExport:'/api/miTuExport/export', //商品导出 + salesIncentivesAddTask:'/api/salesIncentives/addTask', //创建激励任务 + salesIncentivesQueryPage:'/api/salesIncentives/queryPage', //激励任务列表 + salesIncentivesSalesRanking:'/api/salesIncentives/salesRanking', //激励任务列表 + }, + + axiosGet(url,config) { + return new Promise((resolve, reject) => { + axios.get(url,config).then(response => { + resolve(response) + }).catch((error) => { + reject(error) + }) + }); + }, + + axiosPut(url, data) { + return new Promise((resolve, reject) => { + axios.put(url, data).then(response => { + resolve(response) + }).catch((error) => { + reject(error) + }) + }); + }, + + axiosPost(url, data,config) { + return new Promise((resolve, reject) => { + axios.post(url, data,config).then(response => { + resolve(response) + }).catch((error) => { + reject(error) + }) + }); + }, + + axiosDelete(url, newData) { + return new Promise((resolve, reject) => { + axios.delete(url,{data:newData}).then(response => { + resolve(response) + }).catch((error) => { + reject(error) + }) + }); + }, + + + + + +} diff --git a/.history/src/tool/https_20240814143954.js b/.history/src/tool/https_20240814143954.js new file mode 100644 index 0000000..5983a52 --- /dev/null +++ b/.history/src/tool/https_20240814143954.js @@ -0,0 +1,149 @@ +import axios from 'axios' +// import qs from 'qs' +// import message from '@/components/public/message/src' + +import router from '@/router/index' +import {getCookie} from '@/tool/cookie' +// import cookie from '@/tools/cookie.js' + +axios.defaults.timeout = 60000 * 60; //响应时间 +axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; //配置请求头 +axios.defaults.withCredentials = true; //跨域携带cookie +import { message } from 'ant-design-vue'; +axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //配置接口地址 +console.log(process.env.VUE_APP_BASE_URL); +//POST传参序列化(添加请求拦截器) +axios.interceptors.request.use((config) => { + //在发送请求之前做某件事 + if(config.method === 'post' || config.method === 'put' || config.method === 'delete'){ + // config.data = qs.stringify(config.data); + // config.data = JSON.stringify(config.data); + } + + config.headers.Authorization = getCookie('token'); + return config; +},(error) =>{ + return Promise.reject(error); +}); + +//返回状态判断(添加响应拦截器) +axios.interceptors.response.use((res) =>{ + if (res.data) { + if (res.data.errCode === 0) { + return Promise.resolve(res.data.data); + + } else if(!res.data.errMsg){ + let obj = { + data:res.data, + type:res.headers['content-type'], + name:res.headers['content-disposition'], + } + return Promise.resolve(obj); + }else{ + message.error(res.data.errMsg) + return Promise.reject(res.data); + } + } else{ + message.error(res.data.errMsg) + return Promise.reject(res.data); + } + +}, function(error) { + if(error?.response?.status === 401){ + router.replace('/login') + return Promise.reject() + } + let data_new = error?.response?.data + message.error(data_new?.errMsg || 'Error: server exception') + return Promise.reject(data_new); + +}); + +export const Https = { + httpUrls: { + interfaceUrl: '', + accountLogin:'/api/account/login', //登入 + accountLogout:'/api/account/logout',//登出 + queryStorePage:'/api/store/queryStorePage',//门店分页列表 + sotreSaveOrEdit:'/api/store/saveOrEdit',//新增或编辑门店 + storeDelete:'/api/store/delete',//删除门店 + labelQueryStorePage:'/api/label/queryStorePage',//标签分页列表 + labelSaveOrEdit:'/api/label/saveOrEdit', //新增或编辑标签 + labelDelete:'/api/label/delete',//删除标签 + accountQueryUserPage:'/api/account/queryUserPage',//用户分页列表 + storeQueryAll:'/api/store/queryAll',//下拉-查询所有店铺 + roleQueryRolePage:'/api/role/queryRolePage', //角色分页列表 + roleQueryAll:'/api/role/queryAll', // 下拉-查询所有角色 + accountSaveOrEdit:'/api/account/saveOrEdit',//添加或编辑账号 + accountEnable:'/api/account/enable', // 禁用-停用账户 + accountDelete:'/api/account/delete',//删除账户 + roleQueryPermissionList:'/api/role/queryPermissionList',//查询权限列表 + roleSaveOrEdit:'/api/role/saveOrEdit', //新增或编辑角色 + roleDelete:'/api/role/delete', //删除角色 + queryProductPage:'/api/product/queryProductPage',//商品分页列表 + queryProductLabel:'/api/label/queryProductLabel',//下拉-查询所有商品标签 + queryProductAssortmentPage:'/api/product/queryProductAssortmentPage',//商品搭配分页列表 + attributeQueryAll:'/api/attribute/queryAll',//下拉-查询所有属性值 + productConfirmUpload:'/api/product/confirmUpload', + countWorkBench:'/api/product/countWorkBench',//首页工作台统计 + batchUploadProductRelation:'/api/product/batchUploadProductRelation',//批量上传商品后传对应的关联信息,新增商品 + productDelete:'/api/product/delete', //删除商品 + countProductUpdateProcess:'/api/product/countProductUpdateProcess', //统计商品批量上传进度 + productEdit:'/api/product/edit',//编辑商品 + productDetail:'/api/product/detail',//商品详情 + doOnSale:'/api/product/doOnSale', //上架-下架商品 + queryUsrPermission:'/api/role/queryUsrPermission',//菜单权限 + queryProductStore:'/api/store/queryProductStore', //下拉-查询所有商品店铺 + exportProduct:'/api/product/exportProduct', //商品导出 + miTuExportPage:'/api/miTuExport/miTuExportPage', //获取导出报表列表 + miTuExportExport:'/api/miTuExport/export', //商品导出 + salesIncentivesAddTask:'/api/salesIncentives/addTask', //创建激励任务 + salesIncentivesQueryPage:'/api/salesIncentives/queryPage', //激励任务列表 + salesIncentivesSalesRanking:'/api/salesIncentives/salesRanking', //激励任务列表 + }, + + axiosGet(url,config) { + return new Promise((resolve, reject) => { + axios.get(url,config).then(response => { + resolve(response) + }).catch((error) => { + reject(error) + }) + }); + }, + + axiosPut(url, data) { + return new Promise((resolve, reject) => { + axios.put(url, data).then(response => { + resolve(response) + }).catch((error) => { + reject(error) + }) + }); + }, + + axiosPost(url, data,config) { + return new Promise((resolve, reject) => { + axios.post(url, data,config).then(response => { + resolve(response) + }).catch((error) => { + reject(error) + }) + }); + }, + + axiosDelete(url, newData) { + return new Promise((resolve, reject) => { + axios.delete(url,{data:newData}).then(response => { + resolve(response) + }).catch((error) => { + reject(error) + }) + }); + }, + + + + + +} diff --git a/.history/vue.config_20240812101644.js b/.history/vue.config_20240812101644.js new file mode 100644 index 0000000..a8e8456 --- /dev/null +++ b/.history/vue.config_20240812101644.js @@ -0,0 +1,46 @@ +const {defineConfig} = require('@vue/cli-service') +const path = require('path'); +module.exports = defineConfig({ + transpileDependencies: ['vuetify'], + lintOnSave:false,//关闭语法检查 + devServer: { + // hot: true, // 热更新 + port: '8060', + proxy: { + "/api": { + // target: 'http://18.167.251.121:5568', //后端接口地址 + target: 'http://192.168.1.9:5560/', //后端接口地址 + // target: 'http://18.167.251.121:10220/', //后端接口地址 + changeOrigin: true, //是否允许跨越 + } + }, + }, + pluginOptions: { + "style-resources-loader": { + preProcessor: "less", + patterns: [ + // 存放less变量文件的路径 + path.resolve(__dirname, "./src/assets/style/style.less") + + ] + + } + + }, + + css: { + loaderOptions: { + less: { + lessOptions: { + modifyVars: { + 'primary-color': '#ec6800' + }, + javascriptEnabled: true, + }, + + }, + + }, + + } +}) \ No newline at end of file diff --git a/.history/vue.config_20240823234240.js b/.history/vue.config_20240823234240.js new file mode 100644 index 0000000..b5906ed --- /dev/null +++ b/.history/vue.config_20240823234240.js @@ -0,0 +1,46 @@ +const {defineConfig} = require('@vue/cli-service') +const path = require('path'); +module.exports = defineConfig({ + transpileDependencies: ['vuetify'], + lintOnSave:false,//关闭语法检查 + devServer: { + // hot: true, // 热更新 + port: '8060', + proxy: { + "/api": { + // target: 'http://18.167.251.121:5568', //后端接口地址 + // target: 'http://192.168.1.9:5560/', //后端接口地址 + target: 'http://18.167.251.121:10220/', //后端接口地址 + changeOrigin: true, //是否允许跨越 + } + }, + }, + pluginOptions: { + "style-resources-loader": { + preProcessor: "less", + patterns: [ + // 存放less变量文件的路径 + path.resolve(__dirname, "./src/assets/style/style.less") + + ] + + } + + }, + + css: { + loaderOptions: { + less: { + lessOptions: { + modifyVars: { + 'primary-color': '#ec6800' + }, + javascriptEnabled: true, + }, + + }, + + }, + + } +}) \ No newline at end of file diff --git a/public/index.html b/public/index.html index beec2a8..68bb00f 100644 --- a/public/index.html +++ b/public/index.html @@ -5,7 +5,7 @@ - Mixi + SARA diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json index 53fb720..b47137a 100644 --- a/src/assets/iconfont/iconfont.json +++ b/src/assets/iconfont/iconfont.json @@ -1,6 +1,6 @@ { "id": "3922178", - "name": "mixi", + "name": "sara", "font_family": "iconfont", "css_prefix_text": "icon-", "description": "", diff --git a/src/assets/iconfont2/iconfont.css b/src/assets/iconfont2/iconfont.css index de7de37..65966fd 100644 --- a/src/assets/iconfont2/iconfont.css +++ b/src/assets/iconfont2/iconfont.css @@ -1,6 +1,8 @@ @font-face { - font-family: "iconfont"; /* Project id */ - src: url('iconfont.ttf?t=1709533486156') format('truetype'); + font-family: "iconfont"; /* Project id 4452518 */ + src: url('iconfont.woff2?t=1723432108642') format('woff2'), + url('iconfont.woff?t=1723432108642') format('woff'), + url('iconfont.ttf?t=1723432108642') format('truetype'); } .iconfont { @@ -11,6 +13,22 @@ -moz-osx-font-smoothing: grayscale; } +.icon-renwuliebiao:before { + content: "\e60a"; +} + +.icon-paiming_paiming:before { + content: "\e6dc"; +} + +.icon-jiazai--kuai:before { + content: "\e8b7"; +} + +.icon-renwu:before { + content: "\e653"; +} + .icon-xiazaiwenjian:before { content: "\e600"; } diff --git a/src/assets/iconfont2/iconfont.woff b/src/assets/iconfont2/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..87763e767c3a02fc375f4d88470714856506694f GIT binary patch literal 1960 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 OGHfl8l5Ny#0RRB^6S#W- literal 0 HcmV?d00001 diff --git a/src/router/index.ts b/src/router/index.ts index eef0790..27a9a8f 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -63,6 +63,16 @@ const routes: Array = [ path:'exportExcil', name:'exportExcil', component: _import_custom('childView/exportExcil.vue'), + }, + { + path:'growingThroughLifeTask', + name:'growingThroughLifeTask', + component: _import_custom('childView/growingThroughLife/growingThroughLifeTask.vue'), + }, + { + path:'growingThroughLifeList', + name:'growingThroughLifeList', + component: _import_custom('childView/growingThroughLife/growingThroughLifeList.vue'), }, // { // path:'excil1', diff --git a/src/tool/https.js b/src/tool/https.js index d72e0fe..5983a52 100644 --- a/src/tool/https.js +++ b/src/tool/https.js @@ -11,7 +11,7 @@ axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded axios.defaults.withCredentials = true; //跨域携带cookie import { message } from 'ant-design-vue'; axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //配置接口地址 - +console.log(process.env.VUE_APP_BASE_URL); //POST传参序列化(添加请求拦截器) axios.interceptors.request.use((config) => { //在发送请求之前做某件事 @@ -97,6 +97,9 @@ export const Https = { exportProduct:'/api/product/exportProduct', //商品导出 miTuExportPage:'/api/miTuExport/miTuExportPage', //获取导出报表列表 miTuExportExport:'/api/miTuExport/export', //商品导出 + salesIncentivesAddTask:'/api/salesIncentives/addTask', //创建激励任务 + salesIncentivesQueryPage:'/api/salesIncentives/queryPage', //激励任务列表 + salesIncentivesSalesRanking:'/api/salesIncentives/salesRanking', //激励任务列表 }, axiosGet(url,config) { diff --git a/src/views/LoginPage.vue b/src/views/LoginPage.vue index 98e9e14..ec9dccf 100644 --- a/src/views/LoginPage.vue +++ b/src/views/LoginPage.vue @@ -106,31 +106,46 @@ export default defineComponent({ key:'/home/exportExcil', isShow:false, }, + { + code:'MOTIVATIONAL_TASKS', + name:'Motivational Tasks', + route:'/home/growingThroughLifeTask', + icon:'icon-renwuliebiao', + key:'/home/growingThroughLifeTask', + isShow:false, + }, + { + code:'MOTIVATIONAL_RANKING', + name:'Motivational Ranking', + route:'/home/growingThroughLifeList', + icon:'icon-paiming_paiming', + key:'/home/growingThroughLifeList', + isShow:false, + }, // { - // name:'Export Excil', - // code:'EXPORT_EXCIL', - // route:'/home/exportExcil', - // icon:'icon-xiazaiwenjian', + // name:'Growing Through Life', + // code:'GROWING_THROUGH_LIFE', + // route:'', + // icon:'icon-renwu', // key:'sub3', - // key:'/home/exportExcil', // expandIcon:'icon-xialajiantouxiao', - // isShow:true, + // isShow:false, // children:[ // { - // code:'USER_MANAGER', - // name:'User Management', - // route:'/home/excil1', + // code:'GROWING_THROUGH_LIFE_TASK', + // name:'Task Management', + // route:'/home/growingThroughLifeTask', // icon:'', - // key:'/home/excil1', - // isShow:true, + // key:'/home/growingThroughLifeTask', + // isShow:false, // }, // { - // code:'ROLE_MANAGER', - // name:'Access Permission', - // route:'/home/excil2', + // code:'GROWING_THROUGH_LIFE_LIST', + // name:'Performance', + // route:'/home/growingThroughLifeList', // icon:'', - // key:'/home/excil2', - // isShow:true, + // key:'/home/growingThroughLifeList', + // isShow:false, // }, // ] // } diff --git a/src/views/childView/exportExcil.vue b/src/views/childView/exportExcil.vue index bcee81f..2bb36d7 100644 --- a/src/views/childView/exportExcil.vue +++ b/src/views/childView/exportExcil.vue @@ -15,7 +15,7 @@ > - + @@ -38,7 +38,8 @@ @@ -81,7 +82,7 @@ export default defineComponent({ }, ]) - let collectionList = ref([]) + let collectionList:any = ref([]) let labelTypeList:any = ref([ { value:'week',label:'Week'}, { value:'month',label:'Month'}, @@ -102,8 +103,8 @@ export default defineComponent({ size:pageSize.value, fileName:filter.name, span:filter.type, - endTime:filter?.date?.[1]?filter.date[1]:'', - startTime:filter?.date?.[0]?filter.date[0]:'', + endTime:filter?.date?.[1]?filter.date[1] + ' ' +'00:00:00':'', + startTime:filter?.date?.[0]?filter.date[0] + ' ' +'23:59:59':'', } tableLoading.value = true Https.axiosPost(Https.httpUrls.miTuExportPage, data).then( @@ -115,7 +116,10 @@ export default defineComponent({ getExportList() }else{ collectionList.value = rv.content - + let operation = { + operation:false + } + collectionList.value.forEach((obj:any) => Object.assign(obj, operation)); total = rv.total } } @@ -139,7 +143,8 @@ export default defineComponent({ getExportList() } - let setExport = (data:any,index:any) =>{ + let setExport = (data:any,index:any,column:any) =>{ + collectionList.value[index].operation = true Https.axiosGet(Https.httpUrls.miTuExportExport+`/${data.id}`,{responseType: 'blob'}).then((rv)=>{ let name = rv.name.split('=')[1]; let url = window.URL.createObjectURL(new Blob([rv.data], { type: rv.type })); @@ -151,6 +156,7 @@ export default defineComponent({ link.click(); URL.revokeObjectURL(link.href) document.body.removeChild(link); + collectionList.value[index].operation = false }) } @@ -199,6 +205,17 @@ export default defineComponent({ font-weight: 400; color: #343579; cursor: pointer; + &.icon{ + animation: spin 1s linear infinite; + @keyframes spin { + 0%{ + transform: rotate(0deg); + } + 100%{ + transform: rotate(360deg); + } + } + } } } } diff --git a/src/views/childView/growingThroughLife/growingThroughLifeList.vue b/src/views/childView/growingThroughLife/growingThroughLifeList.vue new file mode 100644 index 0000000..0eb66b9 --- /dev/null +++ b/src/views/childView/growingThroughLife/growingThroughLifeList.vue @@ -0,0 +1,193 @@ + + + + \ No newline at end of file diff --git a/src/views/childView/growingThroughLife/growingThroughLifeTask.vue b/src/views/childView/growingThroughLife/growingThroughLifeTask.vue new file mode 100644 index 0000000..f55ed88 --- /dev/null +++ b/src/views/childView/growingThroughLife/growingThroughLifeTask.vue @@ -0,0 +1,387 @@ + + + + \ No newline at end of file diff --git a/src/views/childView/productManage.vue b/src/views/childView/productManage.vue index 50c6896..71c3b38 100644 --- a/src/views/childView/productManage.vue +++ b/src/views/childView/productManage.vue @@ -19,6 +19,12 @@ + + + + + + @@ -123,6 +129,8 @@ export default defineComponent({ labelTypeMap:[], addTime:ref([]), storeIds:[], + pluCode:'', + color:'', }) let filterLabelTypeMap :any = ref({}) let tableLoading = ref(false) @@ -281,6 +289,8 @@ export default defineComponent({ onSaleState:filter.onSaleState && filter.onSaleState.length ? filter.onSaleState : '', labelTypeMap:filterLabelTypeMap.value, storeIds:filter.storeIds && filter.storeIds.length ? [filter.storeIds] : [], + pluCode:filter.pluCode && filter.pluCode.length ? filter.pluCode : '', + color:filter.color && filter.color.length ? filter.color : '', createDateStart:filter.addTime && filter.addTime.length ? startTime(filter.addTime[0]) : '', createDateEnd:filter.addTime && filter.addTime.length ? endTime(filter.addTime[1]) : '', page:currentPage.value, @@ -415,6 +425,8 @@ export default defineComponent({ onSaleState:filter.onSaleState && filter.onSaleState.length ? filter.onSaleState : '', labelTypeMap:filterLabelTypeMap.value, storeIds:filter.storeIds && filter.storeIds.length ? [filter.storeIds] : [], + pluCode:filter.pluCode && filter.pluCode.length ? filter.pluCode : '', + color:filter.color && filter.color.length ? filter.color : '', createDateStart:filter.addTime && filter.addTime.length ? startTime(filter.addTime[0]) : '', createDateEnd:filter.addTime && filter.addTime.length ? endTime(filter.addTime[1]) : '', } @@ -442,6 +454,8 @@ export default defineComponent({ filter.labelTypeMap = [] filter.addTime = ref([]) filter.storeIds = [] + filter.pluCode = '', + filter.color = '', sortedInfo.value = null columnSortListData = [] getProductlist() diff --git a/src/views/childView/systemSetting/roleManage.vue b/src/views/childView/systemSetting/roleManage.vue index caeec17..abf5ecf 100644 --- a/src/views/childView/systemSetting/roleManage.vue +++ b/src/views/childView/systemSetting/roleManage.vue @@ -165,7 +165,13 @@ export default defineComponent({ id: data.id, name: data.name, } - rolePermission.value = changeSelectBoolean(data.rolePermission.level1ResourceList) + rolePermission.value = changeSelectBoolean(data.rolePermission.level1ResourceList) + //添加新权限时候用 + // backupRolePermission.value.forEach((backItem:any) => { + // if(!rolePermission.value.some((obj:any) => obj.code === backItem.code)){ + // rolePermission.value.push(backItem) + // } + // }); permissionCheckAll.value = data.rolePermission.allSelect } @@ -216,6 +222,26 @@ export default defineComponent({ } } } + // newData.push( + // { + // code:'Growing Through Life', + // level2ResourceList:[ + // { + // code:'Growing Through Life', + // operationList:[], + // select:false, + // sort:11, + // },{ + // code:'Growing Through Life', + // operationList:[], + // select:false, + // sort:11, + // }, + // ], + // select:false, + // sort:11, + // } + // ) return newData }