提交 fa31f407 编写于 作者: dmx_mac's avatar dmx_mac

feat:批发流程合规

上级 ff60539f
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
"iscroll": "^5.2.0", "iscroll": "^5.2.0",
"js-cookie": "^2.2.0", "js-cookie": "^2.2.0",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"jsencrypt": "^3.0.0-rc.1", "jsencrypt": "^3.2.1",
"jspdf": "^1.5.3", "jspdf": "^1.5.3",
"node-sass": "^4.9.2", "node-sass": "^4.9.2",
"pdfh5": "^1.3.9", "pdfh5": "^1.3.9",
......
...@@ -82,6 +82,8 @@ const plazaList = r => require.ensure([], () => r(require('../views/plaza/plaza- ...@@ -82,6 +82,8 @@ const plazaList = r => require.ensure([], () => r(require('../views/plaza/plaza-
const activityMember = r => require.ensure([], () => r(require('../views/activitymanagement/activity-member.vue')), 'activity-member') const activityMember = r => require.ensure([], () => r(require('../views/activitymanagement/activity-member.vue')), 'activity-member')
const videoManage = r => require.ensure([], () => r(require('../views/shortvideo/video-manage.vue')), 'video-manage') const videoManage = r => require.ensure([], () => r(require('../views/shortvideo/video-manage.vue')), 'video-manage')
const qualificationList = r => require.ensure([], () => r(require('../views/qualification/list.vue')), 'qualification')
const qualificationDetail = r => require.ensure([], () => r(require('../views/qualification/detail.vue')), 'qualification')
export default [{ export default [{
path: '/', path: '/',
...@@ -347,7 +349,14 @@ export default [{ ...@@ -347,7 +349,14 @@ export default [{
path: 'video-manage', path: 'video-manage',
component: videoManage, component: videoManage,
}, },
{
path: 'qualification-list',
component:qualificationList
},
{
path: 'qualification-detail',
component:qualificationDetail
},
// { // {
// path: '/followup', // path: '/followup',
// name: 'followUp', // name: 'followUp',
......
@import './common.scss'; @import './common.scss';
// color
.c0D9078{
color:#0D9078;
}
//定位 //定位
.relative{ .relative{
position: relative; position: relative;
...@@ -18,9 +22,19 @@ ...@@ -18,9 +22,19 @@
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
} }
.flex1{
flex: 1;
}
.textLeft{ .textLeft{
float: left; float: left;
} }
.cp{
cursor: pointer;
}
.flex-c{
display: flex;
align-items: center;
}
.center{ .center{
text-align: center; text-align: center;
} }
...@@ -125,11 +139,11 @@ ...@@ -125,11 +139,11 @@
padding-left: 5px !important; padding-left: 5px !important;
font-size: 14px !important; font-size: 14px !important;
color: #333; color: #333;
} }
.el-checkbox__input.is-checked+.el-checkbox__label { .el-checkbox__input.is-checked+.el-checkbox__label {
color: #449284; color: #449284;
} }
.el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner { .el-checkbox__input.is-indeterminate .el-checkbox__inner {
color: #449284; color: #449284;
} }
...@@ -204,7 +218,7 @@ ...@@ -204,7 +218,7 @@
margin: 0; margin: 0;
padding: 25px 5px 30px; padding: 25px 5px 30px;
border-top: 0px solid #E4E7ED; border-top: 0px solid #E4E7ED;
} }
} }
.el-dialog__footer { .el-dialog__footer {
padding-top: 20px; padding-top: 20px;
...@@ -227,7 +241,7 @@ ...@@ -227,7 +241,7 @@
margin: 0; margin: 0;
padding: 25px 5px 30px; padding: 25px 5px 30px;
border-top: 1px solid #E4E7ED; border-top: 1px solid #E4E7ED;
} }
} }
} }
.el-cascader .el-input .el-input__inner:focus, .el-cascader .el-input.is-focus .el-input__inner { .el-cascader .el-input .el-input__inner:focus, .el-cascader .el-input.is-focus .el-input__inner {
......
import fetch from '@/utils/fetch' import fetch from '@/utils/fetch'
import { getBaseUrl, getReportUrl, getWorkApi, getCmsUrl } from '@/utils/index' import { getBaseUrl, getReportUrl, getWorkApi, getCmsUrl } from '@/utils/index'
import { CryptoJS } from '@/plugins/aes' import { CryptoJS } from '@/plugins/aes'
import 'jsencrypt' import JSEncrypt from 'jsencrypt'
import { getPubKey } from '@/utils/account/accountApi'; import { getPubKey } from '@/utils/account/accountApi';
...@@ -19,7 +19,7 @@ module.exports = { ...@@ -19,7 +19,7 @@ module.exports = {
// this.token = this.getUrlKey('token') || (query && query.token) || null // this.token = this.getUrlKey('token') || (query && query.token) || null
}, },
mounted: function() { mounted: function() {
}, },
methods: { methods: {
...@@ -56,7 +56,7 @@ module.exports = { ...@@ -56,7 +56,7 @@ module.exports = {
cb && cb(params); cb && cb(params);
} }
}else{ }else{
this.$message({ this.$message({
message: (res && res.message) || '接口出错', message: (res && res.message) || '接口出错',
type: 'warning' type: 'warning'
}); });
...@@ -85,7 +85,7 @@ module.exports = { ...@@ -85,7 +85,7 @@ module.exports = {
return encrypted.toString(); return encrypted.toString();
}, },
// RSA encrypt // RSA encrypt
RsaEncrypt(aesKey, pubKey){ RsaEncrypt(aesKey, pubKey){
let _encrypt = new JSEncrypt(); let _encrypt = new JSEncrypt();
let boss_public_key = pubKey; let boss_public_key = pubKey;
_encrypt.setPublicKey(boss_public_key); _encrypt.setPublicKey(boss_public_key);
...@@ -159,7 +159,7 @@ module.exports = { ...@@ -159,7 +159,7 @@ module.exports = {
setEntry: 'headers', setEntry: 'headers',
} }
let url = 'contents/searchKeyword/searchContent' let url = 'contents/searchKeyword/searchContent'
let csourceData = await this.GET(url, para).then(res => { let csourceData = await this.GET(url, para).then(res => {
// _this.searchText = '' // _this.searchText = ''
if (res.code == '000000') { if (res.code == '000000') {
...@@ -182,7 +182,7 @@ module.exports = { ...@@ -182,7 +182,7 @@ module.exports = {
}) })
return csourceData return csourceData
}, },
setEventByModuleCode(itemData){ setEventByModuleCode(itemData){
let modeCode = itemData.appModuleInfo.code || ''; let modeCode = itemData.appModuleInfo.code || '';
let paramList = itemData.appModuleInfo.paramList ? itemData.appModuleInfo.paramList : '' let paramList = itemData.appModuleInfo.paramList ? itemData.appModuleInfo.paramList : ''
...@@ -253,7 +253,7 @@ module.exports = { ...@@ -253,7 +253,7 @@ module.exports = {
params: para params: para
}) })
}, },
// 通用DELETE请求 // 通用DELETE请求
DELETE(api, para, callback,str) { DELETE(api, para, callback,str) {
// para.token = para.token || this.token || "343BCABC890349ACAF357FA79122F9FE" // para.token = para.token || this.token || "343BCABC890349ACAF357FA79122F9FE"
......
import fetch from '../fetch';
import { getBaseUrl, getSaasDomain, getSaasApiDomain } from '@/utils/index'
let headers = {
'Content-Type': 'application/json;charset=UTF-8',
token: localStorage.getItem('storageToken'),
};
export const getCertifyList = (params) => {
return fetch({
headers,
url: getBaseUrl(`certify/list`),
method: 'post',
data:params,
description: '审核记录列表(批发和供应商)',
})
};
export const getCertifyHistory = (params) => {
return fetch({
headers,
url: getBaseUrl(`certify/certifyHistory`),
method: 'get',
data:params,
description: '查看审核历史',
})
};
export const getCertifyDetail = (storeId) => {
return fetch({
headers,
url: getBaseUrl(`certify/certifyDetail`),
method: 'get',
description: '获取认证申请的审核详情',
})
};
export const getRefuseTemplate = (storeId) => {
return fetch({
headers,
url: getBaseUrl(`cert/constant/refuse/template`),
method: 'get',
description: '获取错误模板',
})
};
<template>
<el-dialog
title="提示"
:visible.sync="hidden"
width="80%"
:before-close="handleClose">
<el-table :data="gridData">
<el-table-column property="date" label="审核时间" ></el-table-column>
<el-table-column property="name" label="审核人" ></el-table-column>
<el-table-column property="address" label="审核结果"></el-table-column>
<el-table-column property="address" label="失败原因" width="200">
<template class="">
</template>
</el-table-column>
<el-table-column property="address" label="操作"></el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleNumChange"
:current-page="pageNo"
:page-sizes="[10, 30, 50, 100]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
></el-pagination>
</div>
</el-dialog>
</template>
<script>
import { getCertifyHistory } from '@/utils/qualification'
export default {
props:{
hidden:{
type:Boolean,
default:() => {
return false;
}
},
id:{
type:Number,
default:() => {
return 0;
}
}
},
data () {
return {
pageNo:0,
pageSize:10,
total:100,
gridData:[],
}
},
created(){},
methods:{
init(){
const params = {
certificateInfoId:this.id,
pageNo:this.pageNo,
pageSize:this.pageSize
}
getCertifyHistory(params).then(res => {
})
},
handleSizeChange() {},
handleNumChange() {},
show() {
},
handleClose(){
this.$emit('close')
}
}
}
</script>
<style lang='less' scoped>
</style>
<template>
<el-dialog
title="拒绝原因"
:visible.sync="dialogVisible"
width="40%"
:before-close="handleClose"
>
<div class="refuse-dialog">
<el-radio
v-model="checkId"
v-for="item in list"
:key="item.id"
:label="item.id"
>{{ item.name }}</el-radio
>
<el-radio v-model="checkId" :label="4">手动输入</el-radio>
<el-input
v-if="checkId === -1"
type="textarea"
placeholder="请输入拒绝原因"
v-model="refuse"
maxlength="30"
show-word-limit
/>
</div>
<div class="btn">
<el-button type="default" size="small" @click="handleClose"
>取消</el-button
>
<el-button type="primary" size="small" @click="confirm">确认</el-button>
</div>
</el-dialog>
</template>
<script>
import { getRefuseTemplate } from "@/utils/qualification";
export default {
props: {},
data() {
return {
dialogVisible: false,
checkId: -1,
refuse: "",
list:[],
type:''
};
},
created() {},
methods: {
init(type) {
this.type = type
getRefuseTemplate({ type }).then((res) => {
console.log(res);
this.list = res.data || []
});
},
show() {
this.dialogVisible = true;
},
handleClose() {
this.dialogVisible = false;
},
confirm() {
const params = {
refuseTemplateNo:this.checkId,
infoType:this.type
}
if(this.checkId === -1) {
params.refuseContent = this.refuse
} else {
params.refuseContent = this.list.filters(v => {
return v.id === checkId
})[0].name
}
this.handleClose();
this.$emit("confirm",params);
},
},
};
</script>
<style lang='less' scoped>
.refuse-dialog {
display: flex;
flex-direction: column;
margin-bottom: 20px;
}
.btn {
text-align: right;
}
</style>
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册