提交 f5946cb2 编写于 作者: changdi.hao's avatar changdi.hao

Merge branch 'release' into 'master'

Release

备份  release

See merge request !252
此差异已折叠。
<template>
<el-dialog
title="查看视频"
:visible="showVideoDetail"
@close="handlerClose"
width="780px"
>
<div class="video-detail-container">
<el-form ref="searchForm" :model="detailObj" label-suffix=":" size="small" label-width="100px">
<el-form-item label="视频描述">
<div>{{detailObj.videoDesc}}</div>
<video ref="videoRef" :src="detailObj.resourceUrl" controls="controls" poster class="video-content">您的浏览器不支持 video 标签。</video>
</el-form-item>
<div style="width: 100%;height: 1px;background-color: #DCDFE6;"></div>
<p class="title">审核结果</p>
<el-form-item label="送审时间">
<div>{{detailObj.startCheckDate | liveDateFilter}}</div>
</el-form-item>
<el-form-item label="机审完成时间">
<div>{{detailObj.completeCheckDate | liveDateFilter}}</div>
</el-form-item>
<el-form-item label="审核结果">
<!-- <div>{{detailObj.status | videoStatusFilter}}</div>-->
<div>{{detailObj.checkResult}}</div>
</el-form-item>
<el-form-item label="审核说明">
<div>{{detailObj.checkExplain}}</div>
</el-form-item>
<el-form-item label="图片" class="image-check-video">
<div v-for="(item, index) in detailObj.liteAvImages" style="display: inline-block">
<el-image
style="width: 100px; height: 100px;margin-right: 25px"
:src="item.url"
:preview-src-list="setSrc(index)">
<div slot="error" class="image-slot err-icon-set">
<i class="el-icon-picture-outline" style="font-size: 40px;margin-top: 25px;"></i>
</div>
</el-image>
<p style="text-align: center;padding-right: 25px;">{{item.timePoint}}</p>
</div>
</el-form-item>
</el-form>
</div>
</el-dialog>
</template>
<script>
import { getVideoDetail } from '@/utils/shortvideo/videoApi';
export default {
data() {
return {
detailObj: {
resourceUrl: '',
videoDesc: '',
startCheckDate: '',
completeCheckDate: '',
status: 2,
checkResult: '',
checkExplain: '',
liteAvImages: []
},
}
},
props: {
showVideoDetail: {
type: Boolean,
default: false
},
id: {
type: Number | String,
default: 0,
}
},
watch: {
showVideoDetail(val) {
if (val) {
this.init(this.id)
}
},
// id(val){
// console.log('当前查看id',val);
// this.init(val)
// }
},
computed: {
setSrc(){
return function (index) {
let newArr = [];
let newItem = this.detailObj.liteAvImages[index];
newArr[0] = newItem.url;
return newArr;
}
},
},
mounted() {},
methods: {
init(id) {
getVideoDetail(id).then((res) => {
if(res.code == "000000") {
const { id, resourceUrl, videoDesc, liteAvCheckInfo } = res.data;
this.detailObj = res.data;
// this.resourceUrl = resourceUrl;//视频地址
// this.videoDesc = videoDesc;//视频描述
}
}).catch((error) => {
this.$message.error("请重试");
})
},
handlerClose() {
// console.log('视频制作',this.$refs.videoRef.play)
if (!this.$refs.videoRef.paused) {
this.$refs.videoRef.pause();
}
this.$emit('closeCheckDetail')
},
},
}
</script>
<style lang="scss" scoped>
.video-detail-container{
min-height: 500px;
.title{
line-height: 24px;
font-size: 18px;
color: #303133;
margin: 23px 0 15px;
}
.video-content{
max-height: 300px;
width: 100%;
margin-top: 20px;
}
}
</style>
<style lang="scss">
.image-check-video{
.err-icon-set{
width: 100px;
height: 100px;
background: #eee;
text-align: center;
vertical-align: middle;
}
}
</style>
...@@ -406,6 +406,7 @@ ...@@ -406,6 +406,7 @@
}, },
save(){ save(){
debugger
this.submitForm(); this.submitForm();
}, },
cancle(){ cancle(){
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="member-management" id="screenSet"> <div class="member-management" id="screenSet">
<el-row type="flex" justify="space-around" class="mm-nav" align="middle"> <el-row type="flex" justify="space-around" class="mm-nav" align="middle">
<el-col :span="20"> <el-col :span="20">
<el-button :type="areabtn" round class="margin-l" @click="checkTab(0)" v-show='isAraeEdit' >可访问本圈的地区</el-button>
<el-button :type="orgbtn" round class="margin-l" @click="checkTab(1)">可访问本圈的机构 ({{orgTotal}})</el-button> <el-button :type="orgbtn" round class="margin-l" @click="checkTab(1)">可访问本圈的机构 ({{orgTotal}})</el-button>
<el-button :type="plebtn" round class="margin-l" @click="checkTab(2)">可访问本圈的人员 ({{pleTotal}})</el-button> <el-button :type="plebtn" round class="margin-l" @click="checkTab(2)">可访问本圈的人员 ({{pleTotal}})</el-button>
<span class="text inlin" @click="goBalck">黑名单</span> <span class="text inlin" @click="goBalck">黑名单</span>
...@@ -11,6 +12,12 @@ ...@@ -11,6 +12,12 @@
</el-col> </el-col>
</el-row> </el-row>
<div class="member-main"> <div class="member-main">
<region
v-show="tab == 0"
:circleId='circleId'
:roleType='roleType'
@setOrgAndPeople="setOrgAndPeople"
></region>
<org <org
v-show="tab == 1" v-show="tab == 1"
:circleId='circleId' :circleId='circleId'
...@@ -26,6 +33,7 @@ ...@@ -26,6 +33,7 @@
@setPleTotal="setPleTotal" @setPleTotal="setPleTotal"
ref='renyaun' ref='renyaun'
></renyaun> ></renyaun>
</div> </div>
</div> </div>
</template> </template>
...@@ -34,7 +42,8 @@ ...@@ -34,7 +42,8 @@
import * as commonUtil from "@/utils/utils"; import * as commonUtil from "@/utils/utils";
import org from '@/components/yqrange/member-management/org' import org from '@/components/yqrange/member-management/org'
import renyaun from '@/components/yqrange/member-management/renyuan' import renyaun from '@/components/yqrange/member-management/renyuan'
import { getCircleRole } from '@/utils/yqrange/rangeApi' import region from '@/components/yqrange/member-management/region'
import { getCircleRole, getTotalNumber } from '@/utils/yqrange/rangeApi'
export default { export default {
props: { props: {
circleId: { circleId: {
...@@ -51,26 +60,57 @@ export default { ...@@ -51,26 +60,57 @@ export default {
}, },
data() { data() {
return { return {
tab: 1, tab: 0,
orgbtn: 'primary', areabtn: 'primary',
plebtn: '', plebtn: '',
orgbtn:'',
orgTotal: 0, orgTotal: 0,
pleTotal: 0, pleTotal: 0,
role: 0 role: 0,
isAraeEdit:false,//是否显示可访问本圈的地区
} }
}, },
components: { components: {
org, org,
renyaun renyaun,
region
}, },
created() { created() {
this.getRole() this.getRole()
let idType = localStorage.getItem("storageIdType");
if(idType == 1){
//内部可以访问本圈的地区
this.isAraeEdit = true
this.tab = 0
this.areabtn = 'primary'
}else{
this.isAraeEdit = false
this.tab = 1
this.orgbtn = 'primary'
}
}, },
// 挂载到Dom完成时 // 挂载到Dom完成时
mounted: function() { mounted: function() {
// commonUtil.resizeHeight(); // commonUtil.resizeHeight();
this.getTotalNum();
}, },
methods: { methods: {
getTotalNum(){
let param = {
circleId: this.circleId,
districtIds: '000',
idType: this.roleType,
}
getTotalNumber(param).then(res => {
if (res.code == '000000') {
const { orgTotal, peopleTotal } = res.data;
this.orgTotal = orgTotal;
this.pleTotal = peopleTotal;
}
}).catch(err => {
console.log('网络出现点儿问题,稍后重试')
})
},
getRole() { getRole() {
getCircleRole(this.circleId).then((res) => { getCircleRole(this.circleId).then((res) => {
if(res.code == '000000') { if(res.code == '000000') {
...@@ -87,16 +127,27 @@ export default { ...@@ -87,16 +127,27 @@ export default {
if (v == 1) { if (v == 1) {
this.orgbtn = 'primary' this.orgbtn = 'primary'
this.plebtn = '' this.plebtn = ''
} else { this.areabtn = ''
}else if (v ==2) {
this.orgbtn = '' this.orgbtn = ''
this.plebtn = 'primary' this.plebtn = 'primary'
this.areabtn = ''
} else {
this.areabtn = 'primary'
this.orgbtn = ''
this.plebtn = ''
} }
}, },
setOrgTotal(n) { setOrgTotal(n) {
this.orgTotal = n // this.orgTotal = n
}, },
setPleTotal(n) { setPleTotal(n) {
this.pleTotal = n // this.pleTotal = n
},
//刷新机构和人员
setOrgAndPeople(){
this.$refs.org.initRange();
this.$refs.renyaun.initRange();
}, },
goManger() { goManger() {
this.$router.push(`/admin-manage?circleId=${this.circleId}&circleName=${this.circleName}`) this.$router.push(`/admin-manage?circleId=${this.circleId}&circleName=${this.circleName}`)
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<el-button size="small" @click="resetOrgOrPerson()" :disabled="checked"huang>取消搜索</el-button> <el-button size="small" @click="resetOrgOrPerson()" :disabled="checked"huang>取消搜索</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-checkbox v-if="showSelectAll" v-model="checked" @change="handleCheckAllChange" >全部({{ totalOrganization }})</el-checkbox> <!-- <el-checkbox v-if="showSelectAll" v-model="checked" @change="handleCheckAllChange" >全部({{ totalOrganization }})</el-checkbox> -->
<el-table class="rim" ref="multipleOrganization" :data="tableOrganization" tooltip-effect="dark" @select-all="selectAllOrganization" @select="selectOrganization" > <el-table class="rim" ref="multipleOrganization" :data="tableOrganization" tooltip-effect="dark" @select-all="selectAllOrganization" @select="selectOrganization" >
<el-table-column type="selection" :selectable="selectableTableList"></el-table-column> <el-table-column type="selection" :selectable="selectableTableList"></el-table-column>
<el-table-column prop="orgName" label="医院名称" align="center"></el-table-column> <el-table-column prop="orgName" label="医院名称" align="center"></el-table-column>
......
...@@ -47,13 +47,14 @@ ...@@ -47,13 +47,14 @@
<el-table-column prop="cityName" label="所属城市" align="center"></el-table-column> <el-table-column prop="cityName" label="所属城市" align="center"></el-table-column>
<el-table-column prop="countyName" label="所属区县" align="center"></el-table-column> <el-table-column prop="countyName" label="所属区县" align="center"></el-table-column>
<el-table-column prop="townName" label="所属街道" align="center"></el-table-column> <el-table-column prop="townName" label="所属街道" align="center"></el-table-column>
<el-table-column prop="sourceName" label="来源" align="center"></el-table-column>
<el-table-column <el-table-column
fixed="right" fixed="right"
label="操作" label="操作"
align="center" align="center"
width="140"> width="140">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="detel(scope.row)" type="text" size="small" style="color:red">删除</el-button> <el-button @click="detel(scope.row)" type="text" size="small" style="color:red" v-if="scope.row.source != 1">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
<div slot="empty"> <div slot="empty">
......
此差异已折叠。
...@@ -173,10 +173,15 @@ ...@@ -173,10 +173,15 @@
<span>1.下载模板,填写信息</span> <span>1.下载模板,填写信息</span>
<br> <br>
<div> <div>
<el-button type="primary" size="small" style="float:left; margin-top: 30px;" @click="download1">下载模板</el-button> <el-button type="primary" size="small" style="float:left; margin-top: 30px;" @click="download1">下载模板1</el-button>
<span style="float:left; margin-top: 72px;margin-left: -90px;">填写人员明细导入</span>
</div>
<div>
<el-button type="primary" size="small" style="margin-top: 30px;margin-left: 48px;" @click="download2">下载模板2</el-button>
<span style="float: right;margin-top:10px;">填写人员ID导入</span>
</div> </div>
</div> </div>
<div style="float:left;margin-left: 40px;width: 1px;height: 100px; background: #c8cbd2;"></div> <div style="float:left;margin-left: 90px;width: 1px;height: 100px; background: #c8cbd2;"></div>
<div style="margin-left: 400px;height: 130px;"> <div style="margin-left: 400px;height: 130px;">
<span>2.上传填写好的文件</span> <span>2.上传填写好的文件</span>
<br> <br>
...@@ -199,7 +204,7 @@ import * as operationData from "@/utils/operation"; ...@@ -199,7 +204,7 @@ import * as operationData from "@/utils/operation";
import { openLoading, closeLoading } from "@/utils/utils"; import { openLoading, closeLoading } from "@/utils/utils";
import { doUpload, getFilePath } from "@/utils/qiniu-util"; import { doUpload, getFilePath } from "@/utils/qiniu-util";
import { mpRelSearch, mprDeleteOrg } from '@/utils/yqrange/memberApi'; import { mpRelSearch, mprDeleteOrg } from '@/utils/yqrange/memberApi';
import { uploadDoc } from '@/utils/yqrange/yqrangeApi'; import { doctorsByIdOrMobile } from '@/utils/yqrange/yqrangeApi';
import addMember from './addMember.vue' import addMember from './addMember.vue'
let vm = null; let vm = null;
export default { export default {
...@@ -257,7 +262,7 @@ export default { ...@@ -257,7 +262,7 @@ export default {
value: 0 value: 0
}, },
{ {
label: '可访问本圈的机构', label: '可访问本圈的地区/机构',
value: 1 value: 1
}, },
{ {
...@@ -457,7 +462,7 @@ export default { ...@@ -457,7 +462,7 @@ export default {
// let files = new window.File(); // let files = new window.File();
uploadDoc(formData).then(res => { doctorsByIdOrMobile(formData).then(res => {
closeLoading(vm); closeLoading(vm);
if (res.code == "000000") { if (res.code == "000000") {
...@@ -544,6 +549,11 @@ export default { ...@@ -544,6 +549,11 @@ export default {
const url = "https://files.yunqueyi.com/template/import_people_by_name_mobile.xlsx"; const url = "https://files.yunqueyi.com/template/import_people_by_name_mobile.xlsx";
window.location.href = url; window.location.href = url;
}, },
// 下载模板2
download2(){
const url = "https://files.yunqueyi.com/template/import_doctor_by_id.xlsx";
window.location.href = url;
},
// 下载错误数据文件 // 下载错误数据文件
downloadFile(){ downloadFile(){
window.location.href = vm.errorFileUrl; window.location.href = vm.errorFileUrl;
......
...@@ -57,6 +57,9 @@ const editSimpleAdvert = r => require.ensure([], () => r(require('../views/educa ...@@ -57,6 +57,9 @@ const editSimpleAdvert = r => require.ensure([], () => r(require('../views/educa
const noticeEditor = r => require.ensure([], () => r(require('../views/education/notice-editor.vue')), 'notice-editor') const noticeEditor = r => require.ensure([], () => r(require('../views/education/notice-editor.vue')), 'notice-editor')
const activityManagement = r => require.ensure([], () => r(require('../views/activitymanagement/activity-management.vue')), 'activity-management')
const createActivity = r => require.ensure([], () => r(require('../views/activitymanagement/create-activity.vue')), 'create-activity')
const yqRange = r => require.ensure([], () => r(require('../views/yqrange/yq-range.vue')), 'yq-range') const yqRange = r => require.ensure([], () => r(require('../views/yqrange/yq-range.vue')), 'yq-range')
const liveManage = r => require.ensure([], () => r(require('../views/yqrange/live-manage.vue')), 'live-manage') const liveManage = r => require.ensure([], () => r(require('../views/yqrange/live-manage.vue')), 'live-manage')
const roleManage = r => require.ensure([], () => r(require('../views/yqrange/role-manage.vue')), 'role-manage') const roleManage = r => require.ensure([], () => r(require('../views/yqrange/role-manage.vue')), 'role-manage')
...@@ -74,7 +77,10 @@ const goodsManage = r => require.ensure([], () => r(require('../views/goods/good ...@@ -74,7 +77,10 @@ const goodsManage = r => require.ensure([], () => r(require('../views/goods/good
const createGood = r => require.ensure([], () => r(require('../views/goods/create-good.vue')), 'create-good') const createGood = r => require.ensure([], () => r(require('../views/goods/create-good.vue')), 'create-good')
const orderManage = r => require.ensure([], () => r(require('../views/goods/order-manage.vue')), 'order-manage') const orderManage = r => require.ensure([], () => r(require('../views/goods/order-manage.vue')), 'order-manage')
const orderDetail = r => require.ensure([], () => r(require('../views/goods/order-detail.vue')), 'order-detail') const orderDetail = r => require.ensure([], () => r(require('../views/goods/order-detail.vue')), 'order-detail')
const plazaList = r => require.ensure([], () => r(require('../views/plaza/plaza-list.vue')), 'plaza-list')
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')
export default [{ export default [{
path: '/', path: '/',
...@@ -239,6 +245,15 @@ export default [{ ...@@ -239,6 +245,15 @@ export default [{
path: '/yq-range', path: '/yq-range',
component: yqRange component: yqRange
}, },
{
path: '/activity-management',
component: activityManagement
},
{
path:'/create-activity',
component: createActivity
},
{ {
path: '/live-manage', path: '/live-manage',
component: liveManage component: liveManage
...@@ -315,7 +330,18 @@ export default [{ ...@@ -315,7 +330,18 @@ export default [{
path: '/order-detail', path: '/order-detail',
component: orderDetail, component: orderDetail,
}, },
{
path: '/plaza-list',
component: plazaList,
},
{
path: '/activity-member',
component: activityMember,
},
{
path: 'video-manage',
component: videoManage,
},
// { // {
// path: '/followup', // path: '/followup',
......
...@@ -56,7 +56,7 @@ service.interceptors.request.use(config => { ...@@ -56,7 +56,7 @@ service.interceptors.request.use(config => {
// console.log('环境变量>>>> ', process.env.BUILD_ENV); // console.log('环境变量>>>> ', process.env.BUILD_ENV);
// config.headers['token'] = 'BFD804F3A3194FBBBE113962222839F6'; // config.headers['token'] = 'BFD804F3A3194FBBBE113962222839F6';
// config.headers['token'] = 'F8209898391C40A0B8DBC1ED9E157291'; // config.headers['token'] = 'F8209898391C40A0B8DBC1ED9E157291';
config.headers['token'] = 'AAAA3AA4233E45CCBE5CABD476C9D6F8'; config.headers['token'] = '00AB2FF7626D4F5FB627399EDF23F5DC';
}else{ }else{
config.headers['token'] = localStorage.getItem('storageToken') config.headers['token'] = localStorage.getItem('storageToken')
} }
......
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 getOnlineCircleList = () => {
return fetch({
headers,
url: getBaseUrl(`circle/v1/online/list`),
method: 'get',
description: '获取所有已上线的圈子列表',
})
};
export const getActivityInfoReq = (activityId) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/activity/info/${activityId}`),
method: 'get',
description: '后台管理--专区活动信息(查看)',
})
};
export const getActivityList = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/activity/list`),
method: 'get',
params: params,
description: '专区活动列表与搜索',
})
};
export const removeActivity = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/activity/remove`),
method: 'delete',
data: params,
description: '后台管理--专区活动删除',
})
};
export const updateActivityStatus = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/activity/deploy`),
method: 'post',
data: params,
description: '后台管理--专区活动上下线',
})
};
export const getActivityDocList = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/activity/doctor/list`),
method: 'get',
params: params,
description: '后台管理--专区活动成员列表与搜索',
})
};
export const removeDoc = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/activity/doctor/remove`),
method: 'post',
data: params,
description: '后台管理--专区活动成员移除',
withCredentials: true
})
};
export const importDoc = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/activity/doctor/import`),
method: 'post',
data: params,
description: '后台管理--专区活动成员导入',
})
};
...@@ -54,8 +54,9 @@ service.interceptors.request.use(config => { ...@@ -54,8 +54,9 @@ service.interceptors.request.use(config => {
} }
if( process.env.BUILD_ENV == "development" ){ // 本地开发环境qgit if( process.env.BUILD_ENV == "development" ){ // 本地开发环境qgit
// console.log('环境变量>>>> ', process.env.BUILD_ENV); // console.log('环境变量>>>> ', process.env.BUILD_ENV);
config.headers['token'] = 'C5172D7D7825463CA46752A894236AC2'; // config.headers['token'] = '00AB2FF7626D4F5FB627399EDF23F5DC';
// config.headers['token'] = localStorage.getItem('storageToken') config.headers['token'] = localStorage.getItem('storageToken')
}else{ }else{
config.headers['token'] = localStorage.getItem('storageToken') config.headers['token'] = localStorage.getItem('storageToken')
} }
......
...@@ -493,6 +493,17 @@ const vueFilter = { ...@@ -493,6 +493,17 @@ const vueFilter = {
else if(value == 2){ else if(value == 2){
return '已通过' return '已通过'
} }
},
auditApplyStatus: (value) => {
if (value == 0) {
return '-'
} else if (value == 1) {
return '待审核'
} else if (value == 2) {
return '已通过'
} else if (value == 3) {
return '已拒绝'
}
}, },
// 圈子状态 0:暂存 10:待发布(已保存) 20:已发布(已提交待审核、审核被拒绝) 30:已上架(审核通过)40:下架 50:解散 // 圈子状态 0:暂存 10:待发布(已保存) 20:已发布(已提交待审核、审核被拒绝) 30:已上架(审核通过)40:下架 50:解散
rangeStatus: (value) => { rangeStatus: (value) => {
...@@ -512,7 +523,15 @@ const vueFilter = { ...@@ -512,7 +523,15 @@ const vueFilter = {
return '-' return '-'
} }
}, },
liveStatusFilter: (value) => { //活动发布状态 1 已经发布 2未发布
activityStatus:(value) => {
if (value == 1) {
return '已发布'
}else if (value == 2) {
return '未发布'
}
},
liveStatusFilter1: (value) => {
if (value == 1) { if (value == 1) {
return '预告' return '预告'
}else if (value == 2) { }else if (value == 2) {
...@@ -551,6 +570,47 @@ const vueFilter = { ...@@ -551,6 +570,47 @@ const vueFilter = {
} }
}, },
circleTypeFilter: (value) => {
if(value == 0){
return "封闭"
}
else if(value == 1){
return "半开放"
}
else if(value == 2){
return "开放"
}
},
tagsFilter: (value) => {
let text = "";
if(value != null && value.length > 0){
for (let i = 0; i < value.length; i++) {
if(i == 0){
text = text + value[i].name;
}
else {
text = text + "、" + value[i].name;
}
}
}
return text;
},
videoStatusFilter: (value) => {
let obj = {
1: '机审中',
2: '机审通过已发布',
3: '疑似违规',
4: '机审通过待人审',
5: '机审拒绝',
6: '人审通过已发布',
7: '已下线',
8: '已删除',
}
return obj[value];
}
} }
export default vueFilter export default vueFilter
...@@ -13,6 +13,14 @@ export const getGoodsList = (params) => { ...@@ -13,6 +13,14 @@ export const getGoodsList = (params) => {
description: '商品列表查询', description: '商品列表查询',
}) })
}; };
export const getGoodDetails = (goodsId) => {
return fetch({
headers,
url: getBaseUrl(`store/goods/medical/service/detail/${goodsId}/-1`),
method: 'get',
description: '商品详情查询',
})
}
export const uploadExcel = data => { export const uploadExcel = data => {
// return utils.checkAuth(()=>{ // return utils.checkAuth(()=>{
return fetch({ return fetch({
...@@ -43,6 +51,15 @@ export const updateGoods = (params) => { ...@@ -43,6 +51,15 @@ export const updateGoods = (params) => {
description: '创建/更新商品', description: '创建/更新商品',
}) })
}; };
export const updateGoodsV2 = (params) => {
return fetch({
headers,
url: getBaseUrl(`store/goods/medical/service/upsert`),
method: 'post',
data: params,
description: '创建/更新商品',
})
};
///dosage/all ///dosage/all
export const dosageAll = (parm) => { export const dosageAll = (parm) => {
return fetch({ return fetch({
...@@ -75,3 +92,24 @@ export const updateStock = (parm) => { ...@@ -75,3 +92,24 @@ export const updateStock = (parm) => {
description: '增加/减少库存', description: '增加/减少库存',
}) })
}; };
// http://dev-sc.yunqueyi.com/store/getHospitalInfoByStoreId?storeId=85
// GET header:token
export const getHospitalInfoByStoreId = (storeId) => {
return fetch({
headers,
url: getBaseUrl(`store/getHospitalInfoByStoreId?storeId=${storeId}`),
method: 'get',
description: '',
})
};
export const getCheckPackageIdList = (storeId) => {
return fetch({
headers,
url: getBaseUrl(`followup/templet/type?sourceType=9`),
method: 'post',
description: '',
})
};
\ No newline at end of file
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 getDiseaseList = () => {
return fetch({
headers,
url: getBaseUrl(`sticker/disease/listAll`),
method: 'get',
description: '疾病标签列表(所有)',
})
};
export const getDeptList = () => {
return fetch({
headers,
url: getBaseUrl(`sticker/subject/childListAll`),
method: 'get',
description: '科室列表-所有二级',
})
};
export const getSubjectList = () => {
return fetch({
headers,
url: getBaseUrl(`sticker/subject/listAll`),
method: 'get',
description: '学科列表-所有2级',
})
};
export const getPlazaList = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/square/list`),
method: 'post',
data: params,
description: '后台管理--广场内专区列表与搜索',
})
};
export const savePlaza = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/square/save`),
method: 'post',
data: params,
description: '后台管理--新增编辑广场内专区和标签',
})
};
export const delPlaza = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/square/remove`),
method: 'delete',
params: params,
description: '后台管理--广场内专区移除',
withCredentials: true
})
};
export const getPlaza = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/square/info?id=${params.id}`),
method: 'get',
data: params,
description: '后台管理--广场内专区信息(查看)',
withCredentials: true
})
};
export const getSelectPlazaList = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/square/circle/list/${params.businessId}`),
method: 'get',
description: '后台管理--待选专区列表',
})
};
...@@ -78,3 +78,16 @@ export const refundApply = (params) => { ...@@ -78,3 +78,16 @@ export const refundApply = (params) => {
description: '退货', description: '退货',
}) })
}; };
// 关闭医生店铺
export const closeShop = (storeId, status = 0) => {
return fetch({
headers,
url: getBaseUrl(`store/check/${storeId}/${status}`),
method: 'put',
data: {},
description: '关闭医生店铺',
})
};
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 getVideoList = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/liteav/admin/list`),
method: 'post',
data: params,
description: '获取短视频列表',
})
};
export const getSwitch = () => {
return fetch({
headers,
url: getBaseUrl(`circle/liteav/admin/switch`),
method: 'get',
description: '获取视频审核开关',
})
};
export const setSwitch = (btnVal) => {
return fetch({
headers,
url: getBaseUrl(`circle/liteav/admin/switch/set?button=${btnVal}`),
method: 'get',
description: '设置视频审核开关',
})
};
export const getVideoDetail = (id) => {
return fetch({
headers,
url: getBaseUrl(`circle/liteav/admin/detail/${id}`),
method: 'get',
description: '获取短视频详情',
})
};
export const manualCheck = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/liteav/admin/man/check`),
method: 'post',
data: params,
description: '短视频人工审核',
})
};
...@@ -69,3 +69,13 @@ export const getCircleRole = (circleId) => { ...@@ -69,3 +69,13 @@ export const getCircleRole = (circleId) => {
description: '根据圈子 获取人的角色', description: '根据圈子 获取人的角色',
}) })
}; };
export const getTotalNumber = (data) => {
return fetch({
headers,
url: getBaseUrl(`circle/memberSelect/orgPeopleTotal/related/search`),
method: 'post',
data: data,
description: '查询已选机构、人员',
})
};
...@@ -28,7 +28,7 @@ export const getRangeList = (params) => { ...@@ -28,7 +28,7 @@ export const getRangeList = (params) => {
export const getCircleSettingList = (params) => { export const getCircleSettingList = (params) => {
return fetch({ return fetch({
headers, headers,
url: getBaseUrl(`circle/app/${params.circleId}/list`), url: getBaseUrl(`circle/v1/app/${params.circleId}/list`),
method: 'get', method: 'get',
description: '查看生态圈应用配置', description: '查看生态圈应用配置',
}) })
...@@ -37,7 +37,7 @@ export const getCircleSettingList = (params) => { ...@@ -37,7 +37,7 @@ export const getCircleSettingList = (params) => {
export const saveCircleSetting = (params) => { export const saveCircleSetting = (params) => {
return fetch({ return fetch({
headers, headers,
url: getBaseUrl(`circle/app/save`), url: getBaseUrl(`circle/v1/app/save`),
method: 'post', method: 'post',
data: params, data: params,
description: '保存生态圈应用配置', description: '保存生态圈应用配置',
...@@ -276,3 +276,52 @@ export const getExamAwardList = (params) => { ...@@ -276,3 +276,52 @@ export const getExamAwardList = (params) => {
}) })
}; };
export const getCircleTree = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/region/tree/${params.circleId}`),
method: 'get',
data: params,
description: '根据圈子id获取树结构',
})
};
export const postCircleTree = (params) => {
return fetch({
headers,
url: getBaseUrl('circle/region/tree'),
method: 'post',
data: params,
description: '保存区域',
})
};
export const auditList = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/sso/activity/doctor/audit/list?doctorName=${params.doctorName}&titleManager=${params.titleManager}&auditStatus=${params.auditStatus}&pageNo=${params.pageNo}&pageSize=${params.pageSize}`),
method: 'get',
data: params,
description: '医生审核列表',
})
};
export const auditOperation = (params) => {
return fetch({
headers,
url: getBaseUrl('circle/sso/activity/doctor/audit'),
method: 'post',
data: params,
description: '医生审核',
})
};
export const doctorsByIdOrMobile = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/import/doctorsByIdOrMobile`),
method: 'post',
data: params,
description: '批量导入人员',
})
};
此差异已折叠。
此差异已折叠。
<template>
<div class="yqrange-index-wrapper">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond" :curmbThird="curmbThird" :jumPathThird="jumPathThird"></bread-crumb>
<div class="yqrange-index-content screenSet" id="screenSet">
<el-row class="step-content">
<el-col :span="14">
<p class="p-title">{{curmbSecond}}</p>
</el-col>
</el-row>
<div class="first-step" v-if="active === 0">
<base-info :formData="formData" @returnTypeData="returnTypeData" @returnIsNext="returnIsNext" ref="child">
</base-info>
</div>
</div>
</div>
</template>
<script>
let vm = null;
import BreadCrumb from "@/components/yqrange/breadcrumb-range.vue";
import { openLoading, closeLoading } from "../../utils/utils";
import BaseInfo from '@/components/activitymanagement/baseinfo.vue';
import { getActivityInfoReq} from '@/utils/activitymanagement/activitymanagementApi';
import {getMemberSelectOrgSaveReq} from "../../utils/yqrange/yqrangeApi";
export default {
name: "create-range",
components: {
BreadCrumb,
BaseInfo
},
data() {
return {
id: null,
enterType: 1,//1.creat 2.edit
curmbFirst: '活动管理',
curmbSecond: '新建活动',
curmbThird:'',
jumPathThird: '/activity-management',
jumPathFouth:'',
active: 0,
//页面展示位置
stepData: [true, false],
formData: {
activityId: 0,//活动ID,新增时为空
titleManager: '',//后台标题方便管理
titleViewMain: '',//前端主标题
titleViewSub: '',//前端副标题
circleId: "",//圈子ID
beginTime:'',//开始时间
endTime:'',//结束时间
appModuleDto: {
linkType: 4, // 跳转类型:1 链接,4 模块, 8 无跳转
name: "", // 模块名称
paramFlag: 0, // 是否有参数标志1为有2为没有参数
paramList: [
{
id: "",
seqNo: '', // 选择参数的索引值
value: '',
key: '', // 参数名称,默认param
type:'' // 模块参数类型:1 int类型字符串 4String类型 8时间戳类型字符串
}
],
paramList2: [],
type: 0 // 类型:1 列表页,4 详情页
},
auditFlag:2,
listImage: '',//活动列表页图片
introImage:'',//介绍页图片url
imgUrl1More: {},
imgUrl2More: {},
backgroundColor2NotJoin:"#0D9078",//立即报名按钮颜色
backgroundColor2Joining:"#86C7BB",//审核中按钮颜色
backgroundColor2Joined:"#0D9078",//参与活动按钮颜色
foregroundColor2NotJoin:"#FFFFFF",//立即报名按钮文字颜色
foregroundColor2Joining:"#FFFFFF",//审核中按钮文字颜色
foregroundColor2Joined:"#FFFFFF",//参与活动按钮文字颜色
},
}
},
created() {
vm = this;
// 根据ID是否有值判断编辑还是create
// debugger
const { enterType, id, roleType } = this.$route.query;
this.id = id;
this.enterType = enterType;
this.roleType = roleType;
if(this.enterType == 2){
this.curmbSecond = "编辑活动"
}
this.curmbThird = this.curmbSecond;
if(roleType == null || roleType == undefined){
let highMainManager = localStorage.getItem('highMainManager');
let mainManager = localStorage.getItem('mainManager');
let manager = localStorage.getItem('manager');
let ordinary = localStorage.getItem('ordinary');
if(highMainManager == 1){
this.roleType = 4;
}
else if(mainManager == 1){
this.roleType = 2;
}
else if(manager == 1){
this.roleType = 1;
}
else if(ordinary == 1){
this.roleType = 0;
}
}
this.formData.roleType = this.roleType;
//edit
if (this.enterType == 2 && this.id != null) {
this.getActivityInfo();
}
},
methods: {
//下一步
nextStep() {
// debugger
this.$refs.child.submitForm();
},
//完成
complete() {
console.log(this.formData.id);
let req = {
circleId: this.formData.id,
};
openLoading(vm);
getMemberSelectOrgSaveReq(req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
this.$message.success('操作成功');
const _this = this;
setTimeout(function () {
_this.$router.go(-1)
}, 2000);
// vm.$router.push({ path: "yq-range" });
} else {
this.$message(res.message);
}
}).catch(err => {
this.$message.error('请求失败');
});
},
// 修改编辑基础信息
returnIsNext(flag) {
if (flag == true) {
vm.commitActivityInfo();
}
},
returnTypeData(item) {
vm.formData[item.name] = item.val
},
//获取活动详情
getActivityInfo() {
getActivityInfoReq(this.id).then(res => {
// closeLoading(this);
if (res.code == "000000") {
this.formData = { ...this.formData, ...res.data };
} else {
vm.$message(res.message);
}
}).catch(err => {
vm.$message.error('请求失败');
});
},
//更新活动信息
commitActivityInfo() {
let req = vm.formData;
vm.POST("circle/sso/activity/save", req).then(res => {
if (res.code == "000000") {
this.$message.success('保存成功');
const _this = this;
setTimeout(function () {
_this.$router.go(-1)
}, 100);
} else {
this.$message(res.message);
}
});
},
}
}
</script>
<style lang="scss">
.yqrange-index-wrapper {
.yqrange-index-content {
background: #fff;
padding: 10px;
.step-content {
overflow: hidden;
height: 60px;
padding: 15px 0 50px 0;
border-bottom: 1px solid #efefef;
.is-text {
display: none;
}
.el-steps--simple {
background: #fff;
padding: 10px 8%;
}
.step-num {
display: block;
margin-top: 1.5px;
font-size: 12px;
border: 1px solid #999 !important;
border-radius: 50%;
width: 25px;
height: 18px;
line-height: 15px;
text-align: center;
color: #999;
}
.el-step__title.is-wait {
color: #999;
}
.el-step__title.is-process {
color: #449284;
}
.is-finish {
color: #999 !important;
}
.on-step {
color: #449284;
border: 1px solid #449284 !important;
}
}
}
}
</style>
<template>
<div class="yqrange-index-wrapper">
<bread-crumb :curmbFirst="curmbFirst"></bread-crumb>
<div class="yqrange-index-content">
<el-form ref="searchForm" :model="searchForm" label-width="75px" label-suffix=":" :inline="true">
<el-row :gutter="30" type="flex" style="margin-top: 10px">
<el-col :span="8">
<el-input v-model="searchForm.doctorName" size="small" placeholder="请输入报名人姓名"></el-input>
</el-col>
<el-col :span="9">
<el-input v-model="searchForm.titleManager" size="small" placeholder="请输入活动后台标题"></el-input>
</el-col>
<el-col :span="9">
<el-select
v-model="searchForm.auditStatus"
placeholder="全部审核状态"
size="small">
<el-option
v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-col>
<el-col :span="7" style="text-align: right">
<el-button type="primary" size="small" @click="search">搜索</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">取消搜索</el-button>
</el-col>
</el-row>
</el-form>
<el-table :data="tableData" class="item-table" style="width: 100%;margin-top: 10px;">
<el-table-column prop="doctorName" label="报名人" min-width="100" align="center"></el-table-column>
<el-table-column prop="activityName" label="报名参加活动" min-width="150" align="center"></el-table-column>
<el-table-column prop="departmentName" label="所属科室" min-width="100" align="center"></el-table-column>
<el-table-column prop="hospitalName" label="所属医院" min-width="100" align="center"></el-table-column>
<el-table-column prop="provinceName" label="所属省份" min-width="100" align="center"></el-table-column>
<el-table-column prop="cityName" label="所属城市" min-width="100" align="center"></el-table-column>
<el-table-column prop="countyName" label="所属区县" min-width="100" align="center"></el-table-column>
<el-table-column prop="townName" label="所属街道" min-width="100" align="center"></el-table-column>
<el-table-column prop="auditStatus" label="审核状态" min-width="100" align="center">
<template slot-scope="scope">
<span>{{ scope.row.auditStatus | auditApplyStatus }}</span>
</template>
</el-table-column>
<el-table-column label="操作" min-width="200" align="center">
<template slot-scope="scope"> <!-- 0全部 1待审核 2已通过 3已拒绝 -->
<div>
<el-button @click="approve(scope.row)" type="text" size="small" v-if="scope.row.auditStatus == 1">通过</el-button>
<el-button @click="reject(scope.row)" type="text" size="small" v-if="scope.row.auditStatus == 1">拒绝</el-button>
</div>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleNumChange"
:current-page="searchForm.pageNo"
:page-sizes="[10, 30, 50, 100]"
:page-size="searchForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
></el-pagination>
</div>
</div>
</div>
</template>
<script>
import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue";
import { auditList, auditOperation, applyList, applyUpdate} from "../../utils/yqrange/yqrangeApi";
export default {
components: {
BreadCrumb
},
data(){
return{
curmbFirst: '审核列表',
showAllFlag: false,
showNewFlag: false,
searchForm: {
doctorName: '',
titleManager: '',
// endTime: '',
auditStatus: 0,
pageNo: 1,
pageSize: 10,
},
totalRows: 0,
tableData: [],
dialogSettingVisible: false,
settingForm:{
circleId: null,
settingData: []
},
statusList: [
{
value: 0,
label: "全部"
},
{
value: 1,
label: "待审核"
},
{
value: 2,
label: "已通过"
},
{
value: 3,
label: "已拒绝"
},
],
dialogVisible: false
}
},
created() {
// this.initPrivilege();
this.search(1);
},
methods: {
initPrivilege(){
let idType = localStorage.getItem('storageIdType');
// if(idType == null || idType == ""){
// idType = 2;
// localStorage.setItem('storageIdType', idType);
// }
// this.searchForm.userType = idType;
// 内部用户:运营人员
if(idType == "1"){
this.showAllFlag = true;
this.showNewFlag = true;
}
// 外部用户
else if(idType == "2"){
this.showAllFlag = false;
setTimeout(() => {
this.getUserAuth();
},1500)
}
},
// 外部用户权限
getUserAuth(){
let highMainManager = localStorage.getItem('highMainManager');
let mainManager = localStorage.getItem('mainManager');
let manager = localStorage.getItem('manager');
if(highMainManager == "1" || mainManager == "1"){
this.showNewFlag = true;
}
else if(manager == "1"){
this.showNewFlag = false;
}
// localStorage.setItem('ordinary', vm.setStoreData(ordinary))
},
// 搜索
search(first){
this.searchForm.pageNo = 1;
this.searchList(first);
},
searchList(first) {
if(!first) {
console.log('查询圈子')
openLoading(this);
}
let params = this.searchForm;
console.log("searchList() : params = " + JSON.stringify(params))
auditList(params).then((res) => {
closeLoading(this);
if(res.code == "000000") {
this.tableData = res.data.activityDoctorAuditModelList;
this.totalRows = res.data.total;
} else {
this.tableData = [];
}
}).catch((error) => {
// this.$message({
// message: error,
// type: 'error'
// });
this.$message.error("请重试");
})
},
resetForm() {
this.searchForm.doctorName = "";
this.searchForm.titleManager = "";
this.searchForm.auditStatus = 0;
console.log('重置')
this.search();
},
// 更新圈子状态(上线,下线)
updateStatus(params){
console.log("updateStatus() : params = " + JSON.stringify(params));
auditOperation(params).then((res) => {
closeLoading(this);
if(res.code == "000000") {
this.$message.success("成功");
this.searchList();
} else {
this.$message.success("失败");
}
}).catch((error) => {
// this.$message({
// message: error,
// type: 'error'
// });
this.$message.error("请重试");
})
},
// 1:待审核,2.通过,3:拒绝
approve(row){
let params = {
"accept": true,
"auditRecordId": row.auditRecordId,
};
this.updateStatus(params);
},
//拒绝
reject(row) {
let params = {
"accept": false,
"auditRecordId": row.auditRecordId,
};
this.$confirm(`拒绝后"${row.doctorName}"将无法访问"${row.activityName}"`, `确认拒绝`, {
confirmButtonText: '拒绝',
cancelButtonText: '取消',
type: 'warning',
customClass: 'range-make-box',
}).then(() => {
// confirm
this.updateStatus(params);
}).catch(() => {
// cancel
});
},
// 关闭
handleSettingClose(){
this.dialogSettingVisible = false;
},
handleSizeChange(val) {
this.searchForm.pageSize = val;
this.search();
},
handleNumChange(val) {
this.searchForm.pageNo = val;
this.searchList();
},
},
}
</script>
<style lang="scss">
.yqrange-index-wrapper{
.yqrange-index-content{
background: #fff;
padding: 10px;
.header-title{
padding: 10px 12px;
font-size: 12px;
color: #449284;
border-bottom: 1px solid #efefef;
}
}
.el-button--text{
color: #449284;
font-size: 14px;
&::after{
content: '';
position: relative;
height: 14px;
/*border-right: 1px solid #EBEEF5;*/
border-right: 1px solid #aaaaaa;
padding-right: 10px;
}
&:last-of-type{
&::after{
content: '';
position: relative;
width: 1px;
height: 14px;
border-right: none;
}
}
}
}
/*.range-make-box{*/
/*.el-message-box__btns{*/
/*margin-top: 30px;*/
/*}*/
/*}*/
</style>
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<el-input <el-input
size="small" size="small"
v-model="formData.name" v-model="formData.name"
maxlength="20"
placeholder="请输入学科名称" placeholder="请输入学科名称"
style="width:70%;" style="width:70%;"
></el-input> ></el-input>
...@@ -47,6 +48,7 @@ ...@@ -47,6 +48,7 @@
<el-input <el-input
size="small" size="small"
v-model="item.name" v-model="item.name"
maxlength="20"
placeholder="请输入二级分类名称" placeholder="请输入二级分类名称"
style="width:70%;" style="width:70%;"
></el-input> ></el-input>
...@@ -61,6 +63,7 @@ ...@@ -61,6 +63,7 @@
<el-input <el-input
size="small" size="small"
v-model="item.code" v-model="item.code"
maxlength="8"
placeholder="请输入二级分类代码" placeholder="请输入二级分类代码"
style="width:70%;" style="width:70%;"
></el-input> ></el-input>
......
此差异已折叠。
const form1 = {
categoryIdLevel2: '',
categoryIdLevel3: '',
categoryIdLevel4: '',
categoryIdLevel5: '',
medicCommonName:'',
medicGoodsName:'',
size:'',
dosageId:null,
usage:'',
otc1:'1',
approvalNumber:'',
manufacturer:'',
department:'',
expiredTime:'',
specification_url:'',
treatDisease:'',
barCode: '',
modelNo: '', // 型号
standardNo: '', // 执行标准号
}
const form2 = {
checkPackageId: '', // 检测登记表,暂无,先隐藏!!!!!!!!!!!
checkName: '',
hospitalName: '',
hospitalType: '',
hospitalId: 0,
medicalServiceId: 0, // 新增时传0,更新时必需>0
goodsCheckImages: [],
checkItem: '',
checkStandard: '',
useCount: 1,
checkType: '',
suitable: '',
suitableArr: '',
accessorialService: '',
endTime: '',
barCode: '',
// medicalServiceId: ''
}
const form = {
// medicationId: 0,
// categoryId:'',
// otc:false,
// discountPrice:'',
// specificationImages:[],
// goodsId: 0, // 新增时传0,更新时必需>0
id: 0,
goodsName:'',
goodsDescription:'',
goodsHeaderImages:[],
goodsType:'',
barCode: '',
costPrice:0,
decrStock:0,//减少库存
incrStock:'',//增加库存
storeId: '',
optPrice:'',
goodsStock:0,
stock: 0,
externalGoodsCode: ''
};
export const originForm1 = form1;
export const originForm2 = form2;
export const originForm = form;
\ No newline at end of file
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<el-col :span="12" style="text-align: right"> <el-col :span="12" style="text-align: right">
<el-button type="primary" size="small" @click="exportOpt">批量导出商品</el-button> <el-button type="primary" size="small" @click="exportOpt">批量导出商品</el-button>
<el-button type="primary" size="small" @click="batchOpt(3)">批量导入商品</el-button> <el-button v-if="isSSO" type="primary" size="small" @click="batchOpt(3)">批量导入商品</el-button>
<el-button type="primary" size="small" @click="edit('add')">新建单个商品</el-button> <el-button type="primary" size="small" @click="edit('add')">新建单个商品</el-button>
</el-col> </el-col>
</el-row> </el-row>
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
<el-table-column prop="goodsName" label="商品名称" width="140" align="center" show-overflow-tooltip></el-table-column> <el-table-column prop="goodsName" label="商品名称" width="140" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="type" label="商品类型" width="100" align="center"> <el-table-column prop="type" label="商品类型" width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.goodsType | rangeType }}</span> <span>{{ scope.row.goodsTypeStr }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" label="商品状态" width="100" align="center"> <el-table-column prop="status" label="商品状态" width="100" align="center">
...@@ -192,7 +192,10 @@ ...@@ -192,7 +192,10 @@
},{ },{
categoryName: "药品", categoryName: "药品",
id: 5, id: 5,
}] },{
categoryName: "检测服务",
id: 337,
}];
export default { export default {
components: { components: {
BreadCrumb BreadCrumb
...@@ -229,7 +232,8 @@ ...@@ -229,7 +232,8 @@
typeList: [], typeList: [],
//uploadUrl:getBaseUrl('store/goods/import'), //uploadUrl:getBaseUrl('store/goods/import'),
postData:{}, postData:{},
validateFailedList:[] validateFailedList:[],
isSSO: 0, // 是否是sso后台管理员 1是 0否
} }
}, },
created() { created() {
...@@ -319,7 +323,7 @@ ...@@ -319,7 +323,7 @@
if(res.code != '000000'){ if(res.code != '000000'){
return self.$message({ return self.$message({
message: '上传失败,请重新上传!', message: res.message || '上传失败,请重新上传!',
type: 'error' type: 'error'
}); });
} }
...@@ -339,12 +343,15 @@ ...@@ -339,12 +343,15 @@
} }
}).catch(err => {
console.log(`上传报错`, err);
}) })
}; };
reader.readAsDataURL(file); reader.readAsDataURL(file);
}, },
uploadTemp(){ uploadTemp(){
let url = "https://file.yunqueyi.com/trade/store/goods_import_template.xlsx" // let url = "https://file.yunqueyi.com/trade/store/goods_import_template.xlsx"
const url = 'https://file.yunqueyi.com/trade/store/20210129/goods_import_template.xlsx';
window.location.href = url window.location.href = url
}, },
getLever(id=0){ getLever(id=0){
...@@ -372,6 +379,7 @@ ...@@ -372,6 +379,7 @@
} }
this.tableData = res.data.goodsList this.tableData = res.data.goodsList
this.totalRows = res.data.totalCount this.totalRows = res.data.totalCount
this.isSSO = res.data.isSSO;
}) })
}, },
//获取商品id //获取商品id
...@@ -413,13 +421,14 @@ ...@@ -413,13 +421,14 @@
} }
}, },
edit(row){ edit(row){
const { goodsType } = row;
let url = '' let url = ''
if(row == 'add'){ if(row == 'add'){
url = `/create-good?id=add&storeId=${this.searchForm.storeId}` url = `/create-good?id=add&storeId=${this.searchForm.storeId}&inputType=1`
}else{ }else{
url = `/create-good?id=${row.goodsId}&storeId=${this.searchForm.storeId}` url = `/create-good?id=${row.goodsId}&storeId=${this.searchForm.storeId}&goodsType=${goodsType}`
} }
this.$store.dispatch('goodsManage/changeGoodsInfo', {...row}); // this.$store.dispatch('goodsManage/changeGoodsInfo', {...row});
this.$router.push({ this.$router.push({
path: url path: url
}) })
......
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
@close="showTuiDialog = false" @close="showTuiDialog = false"
width="385px" width="385px"
> >
<el-form ref="tuiForm" :model="tuiForm" label-width="120px"> <el-form ref="tuiForm" :rules="rules" :model="tuiForm" label-width="120px">
<el-form-item label="退款退货方式:"> <el-form-item label="退款退货方式:">
<el-select v-model="tuiForm.type" placeholder="请选择退货方式"> <el-select v-model="tuiForm.type" placeholder="请选择退货方式">
<el-option <el-option
...@@ -228,6 +228,15 @@ ...@@ -228,6 +228,15 @@
<el-form-item label="退款金额" prop="name"> <el-form-item label="退款金额" prop="name">
<el-input v-model="tuiForm.money" :disabled="true"></el-input> <el-input v-model="tuiForm.money" :disabled="true"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="退款对象" prop="userName">
<el-select v-model="userType" placeholder="请选择退款对象">
<el-option
v-for="item in userTypes"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="confirmTui">完成</el-button> <el-button size="small" type="primary" @click="confirmTui">完成</el-button>
...@@ -286,6 +295,9 @@ ...@@ -286,6 +295,9 @@
orderNum: [ orderNum: [
{ required: true, message: '请输入快递单号', trigger: "blur"}, { required: true, message: '请输入快递单号', trigger: "blur"},
], ],
userName: [
{ required: true, message: '请选择退款对象', trigger: "blur"},
],
}, },
showTuiDialog: false, showTuiDialog: false,
tuiForm: { tuiForm: {
...@@ -309,10 +321,22 @@ ...@@ -309,10 +321,22 @@
value: 2, value: 2,
disabled: true disabled: true
} }
],
userType: "", // 1.开单医生, 2.支付用户
userTypes: [
{
label: '开单医生',
value: 1,
},
{
label: '支付用户',
value: 2,
},
] ]
} }
}, },
created() { created() {
console.log("order created() : enter");
this.searchForm.storeId = this.$route.query.storeId || 0, this.searchForm.storeId = this.$route.query.storeId || 0,
this.searchList(); this.searchList();
}, },
...@@ -481,7 +505,11 @@ ...@@ -481,7 +505,11 @@
this.showTuiDialog = true; this.showTuiDialog = true;
}, },
confirmTui() { confirmTui() {
refundApply({ orderId: this.tuiForm.order.id }).then(res => { if (this.userType == null || this.userType == "") {
this.$message.error("请选择退款对象");
return;
}
refundApply({ orderId: this.tuiForm.order.id, userType: this.userType }).then(res => {
if (res.code == '000000') { if (res.code == '000000') {
this.$message.success('操作成功'); this.$message.success('操作成功');
this.showTuiDialog = false; this.showTuiDialog = false;
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<el-table-column prop="name" label="直播名称" min-width="100" align="center"></el-table-column> <el-table-column prop="name" label="直播名称" min-width="100" align="center"></el-table-column>
<el-table-column prop="liveStatus" label="直播状态" min-width="100" align="center"> <el-table-column prop="liveStatus" label="直播状态" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.liveStatus | liveStatusFilter }}</span> <span>{{ scope.row.liveStatus | liveStatusFilter1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="streamType" label="直播方式" min-width="100" align="center"> <el-table-column prop="streamType" label="直播方式" min-width="100" align="center">
......
此差异已折叠。
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册