提交 6561a6ea 编写于 作者: guangjun.yang's avatar guangjun.yang

Merge branch 'discuss-wjdc-all-0423' into release

src/assets/image/mm.jpg

17.6 KB | W: | H:

src/assets/image/mm.jpg

45.8 KB | W: | H:

src/assets/image/mm.jpg
src/assets/image/mm.jpg
src/assets/image/mm.jpg
src/assets/image/mm.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -7,6 +7,11 @@ const blank = r => require.ensure([], () => r(require('../views/blank')), 'blank ...@@ -7,6 +7,11 @@ const blank = r => require.ensure([], () => r(require('../views/blank')), 'blank
const discuss = r => require.ensure([], () => r(require('../views/discuss/index.vue')), 'index') const discuss = r => require.ensure([], () => r(require('../views/discuss/index.vue')), 'index')
const creatDiscuss = r => require.ensure([], () => r(require('../views/discuss/add-edit.vue')), 'creatDiscuss') const creatDiscuss = r => require.ensure([], () => r(require('../views/discuss/add-edit.vue')), 'creatDiscuss')
const questionNaire = r => require.ensure([], () => r(require('../views/question-naire/question-list.vue')), 'questionNaire') const questionNaire = r => require.ensure([], () => r(require('../views/question-naire/question-list.vue')), 'questionNaire')
const topicList = r => require.ensure([], () => r(require('../views/topicManage/index.vue')), 'topicList')
const reportSet = r => require.ensure([], () => r(require('../views/report/reportSet.vue')), 'reportSet')
export default [{ export default [{
path: '/', path: '/',
...@@ -14,26 +19,35 @@ export default [{ ...@@ -14,26 +19,35 @@ export default [{
children: [ children: [
{ {
path: '', path: '',
redirect: '/question-naire' redirect: '/home'
},{ },{
path: '/index', path: '/questionNaire',
component: questionNaire component: questionNaire
},{ },{
path: '/home', path: '/home',
component: questionNaire component: home
}, },
// { {
// path: '/discuss-list', path: '/discuss-list',
// component: discuss component: discuss
// }, },
// { {
// path: '/creat-discuss', path: '/creat-discuss',
// component: creatDiscuss component: creatDiscuss
// }, },
{ {
path: '/question-naire', path: '/question-naire',
component: questionNaire component: questionNaire
} },
{
path: '/topic-list',
component: topicList
},
{
path: '/report-set',
component: reportSet
},
] ]
}] }]
\ No newline at end of file
...@@ -3,14 +3,20 @@ ...@@ -3,14 +3,20 @@
*/ */
export const envConfig = { export const envConfig = {
development: { development: {
//baseUrl: 'http://10.177.15.180:11902', // baseUrl: 'https://dev-sc.yunqueyi.com/',
baseUrl: 'https://dev-sc.yunqueyi.com', // // baseUrl: 'http://10.177.15.180:10202/',
// // baseUrl: 'http://192.168.140.14:10201/',
// baseUrl: 'https://test1-sc.yunqueyi.com/',
//baseUrl: 'https://uat-sc.yunqueyi.com/',
baseUrl: 'https://dev-sc.yunqueyi.com',
qiniuFileUrl: "https://dev-sc.yunqueyi.com/contents/admin/qiniu/token1", qiniuFileUrl: "https://dev-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com", qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com", qiniuImgUrl: "https://test1-file.yunqueyi.com",
loginUrl: 'https://dev-saas.yunqueyi.com/pica-login/work_station.html', loginUrl: 'https://dev-saas.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'http://localhost:8090/PICA_SSO_FE/html/pica_index.html', //innerLoginUrl: 'http://localhost:8090/PICA_SSO_FE/html/pica_index.html',
//innerLoginUrl: 'https://dev-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html', innerLoginUrl: 'https://dev-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://dev-saas.yunqueyi.com/pica_index.html' yuequeyiIndexUrl: 'https://dev-saas.yunqueyi.com/pica_index.html'
}, },
dev: { dev: {
...@@ -34,8 +40,8 @@ export const envConfig = { ...@@ -34,8 +40,8 @@ export const envConfig = {
uat: { uat: {
baseUrl: 'https://uat-sc.yunqueyi.com', baseUrl: 'https://uat-sc.yunqueyi.com',
qiniuFileUrl: "https://uat-sc.yunqueyi.com/contents/admin/qiniu/token1", qiniuFileUrl: "https://uat-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://video.yunqueyi.com", // 视频 qiniuResourceUrl: "https://videos.yunqueyi.com", // 视频
qiniuImgUrl: "https://files.yunqueyi.com", qiniuImgUrl: "https://file.yunqueyi.com",
loginUrl: 'https://uat.yunqueyi.com/pica-login/work_station.html', loginUrl: 'https://uat.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://uat-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html', innerLoginUrl: 'https://uat-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://uat.yunqueyi.com/pica_index.html' yuequeyiIndexUrl: 'https://uat.yunqueyi.com/pica_index.html'
...@@ -43,8 +49,8 @@ export const envConfig = { ...@@ -43,8 +49,8 @@ export const envConfig = {
pro: { pro: {
baseUrl: 'https://sc.yunqueyi.com', baseUrl: 'https://sc.yunqueyi.com',
qiniuFileUrl: "https://sc.yunqueyi.com/contents/admin/qiniu/token1", qiniuFileUrl: "https://sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://video.yunqueyi.com", qiniuResourceUrl: "https://videos.yunqueyi.com",
qiniuImgUrl: "https://files.yunqueyi.com", qiniuImgUrl: "https://file.yunqueyi.com",
loginUrl: 'https://yunqueyi.com/pica-login/work_station.html', loginUrl: 'https://yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html', innerLoginUrl: 'https://sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://www.yunqueyi.com/pica_index.html' yuequeyiIndexUrl: 'https://www.yunqueyi.com/pica_index.html'
......
import axios from 'axios' import axios from 'axios'
import store from '../store' import store from '../store'
import {openLoading, closeLoading} from './utils'
// import { getHostnameAndPort } from '../utils' // import { getHostnameAndPort } from '../utils'
// axios.defaults.withCredentials = true // axios.defaults.withCredentials = true
...@@ -15,6 +14,14 @@ service.interceptors.request.use(config => { ...@@ -15,6 +14,14 @@ service.interceptors.request.use(config => {
config.headers['sysCode'] = 26 config.headers['sysCode'] = 26
config.headers['token'] = localStorage.getItem('storageToken') config.headers['token'] = localStorage.getItem('storageToken')
config.headers['deviceInfo'] = JSON.stringify({ "app_channel": "", "app_mac": "", "app_uuid": "", "app_version": "", "device_brand": "", "device_ip": "", "device_model": "", "device_net": "", "device_ops": "", "resolution_wh": "", "system_level": "", "device_type": '10' }) config.headers['deviceInfo'] = JSON.stringify({ "app_channel": "", "app_mac": "", "app_uuid": "", "app_version": "", "device_brand": "", "device_ip": "", "device_model": "", "device_net": "", "device_ops": "", "resolution_wh": "", "system_level": "", "device_type": '10' })
// if (config.data && config.data.setEntry) {
// config.headers['sysCode'] = config.data.sysCode || 10
// if(config.data.token){
// config.headers['token'] = config.data.token || '63C3FA92AF8A45A48B31EB7FD97B95EB'
// }
// config.headers['deviceInfo'] = JSON.stringify({ "app_channel": "", "app_mac": "", "app_uuid": "", "app_version": "", "device_brand": "", "device_ip": "", "device_model": "", "device_net": "", "device_ops": "", "resolution_wh": "", "system_level": "", "device_type": '10' })
// }
return config return config
}, error => { }, error => {
// logger.debug('service.interceptors.request: ', error) // logger.debug('service.interceptors.request: ', error)
...@@ -29,13 +36,14 @@ service.interceptors.response.use( ...@@ -29,13 +36,14 @@ service.interceptors.response.use(
baseUrl时,返回000000为成功 baseUrl时,返回000000为成功
apiUrl时,返回200为成功 apiUrl时,返回200为成功
*/ */
// if (res.code !== '000000') { if (res.code !== '000000') {
// return Promise.reject('error') return Promise.reject(response.data)
// } else { } else {
return response.data return response.data
//} }
}, },
error => { error => {
// logger.error('err' + error) // logger.error('err' + error)
return Promise.reject(error) return Promise.reject(error)
} }
......
...@@ -297,7 +297,7 @@ export const doUpload = (self,file, filePath, previewId,progressId, fileType) => ...@@ -297,7 +297,7 @@ export const doUpload = (self,file, filePath, previewId,progressId, fileType) =>
// obj.css('max-width', '100%'); // obj.css('max-width', '100%');
// } // }
},2000); },500);
}; };
......
...@@ -28,26 +28,26 @@ ...@@ -28,26 +28,26 @@
<el-form-item label="内容发布控制"> <el-form-item label="内容发布控制">
<div> <div>
<span class="label-name">话题</span> <span class="label-name">话题</span>
<el-radio v-model="form.ht" label="1">允许</el-radio> <el-radio v-model="form.ht" label="1" disabled>允许</el-radio>
<el-radio v-model="form.ht" label="0">不允许</el-radio> <el-radio v-model="form.ht" label="0" disabled>不允许</el-radio>
</div> </div>
<div> <div>
<span class="label-name">评论</span> <span class="label-name">评论</span>
<el-radio v-model="form.pl" label="1">允许</el-radio> <el-radio v-model="form.pl" label="1" disabled>允许</el-radio>
<el-radio v-model="form.pl" label="0">不允许</el-radio> <el-radio v-model="form.pl" label="0" disabled>不允许</el-radio>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="审核规则" required> <el-form-item label="审核规则" required>
<div> <div>
<span class="label-name">文字</span> <span class="label-name">文字</span>
<el-radio v-model="form.wz" label="2">先审后显示</el-radio> <el-radio v-model="form.wz" label="2" disabled>先审后显示</el-radio>
<el-radio v-model="form.wz" label="4">后审先显示</el-radio> <el-radio v-model="form.wz" label="4" disabled>后审先显示</el-radio>
</div> </div>
<div> <div>
<span class="label-name">图片</span> <span class="label-name">图片</span>
<el-radio v-model="form.tp" label="8">先审后显示</el-radio> <el-radio v-model="form.tp" label="8" disabled>先审后显示</el-radio>
<el-radio v-model="form.tp" label="16">后审先显示</el-radio> <el-radio v-model="form.tp" label="16" disabled>后审先显示</el-radio>
</div> </div>
</el-form-item> </el-form-item>
...@@ -58,11 +58,11 @@ ...@@ -58,11 +58,11 @@
<el-form-item label="发布按钮文案" required> <el-form-item label="发布按钮文案" required>
<div> <div>
<span class="label-name label-f">首页按钮</span> <span class="label-name label-f">首页按钮</span>
<el-input v-model="form.topicBtnText" size="mini" style="width: 100px;"></el-input> <el-input v-model="form.topicBtnText" size="mini" style="width: 100px;" :maxLength="maxBtn"></el-input>
</div> </div>
<div> <div>
<span class="label-name label-f">二级页按钮</span> <span class="label-name label-f">二级页按钮</span>
<el-input v-model="form.commentBtnText" size="mini" style="width: 100px;"></el-input> <el-input v-model="form.commentBtnText" size="mini" style="width: 100px;" :maxLength="maxBtn"></el-input>
</div> </div>
</el-form-item> </el-form-item>
...@@ -105,12 +105,13 @@ export default { ...@@ -105,12 +105,13 @@ export default {
label:'积木' label:'积木'
} }
], ],
maxBtn:4,
form:{ form:{
subject:'', subject:'',
ht:'1', ht:'1',
pl:'1', pl:'1',
wz:'2', wz:'4',
tp:'8', tp:'16',
user:'1', user:'1',
isZC:false, isZC:false,
isRZ:false, isRZ:false,
...@@ -201,7 +202,7 @@ export default { ...@@ -201,7 +202,7 @@ export default {
"commentbtntext": this.form.commentBtnText, "commentbtntext": this.form.commentBtnText,
//"deleteflag": 0, //"deleteflag": 0,
//"derivedid": 0, //"derivedid": 0,
//"derivername": "string", "category": this.form.deriverName,
"dispalycommentbtn": this.form.pl == 1 ? true : false, "dispalycommentbtn": this.form.pl == 1 ? true : false,
"displaytopicbtn": this.form.ht == 1 ? true : false, "displaytopicbtn": this.form.ht == 1 ? true : false,
//"id": 0, //"id": 0,
......
...@@ -10,18 +10,18 @@ ...@@ -10,18 +10,18 @@
<el-form ref="serchForm" :model="searchParam" label-width="75px" style="width:100%;"> <el-form ref="serchForm" :model="searchParam" label-width="75px" style="width:100%;">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="讨论主题:"> <el-form-item label="讨论主题:">
<el-input clearable v-model="searchParam.theme" size="mini" placeholder="请输入组件名称"></el-input> <el-input clearable v-model="searchParam.theme" size="mini" placeholder="请输入主题" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="创建人:"> <el-form-item label="创建人:">
<el-input clearable v-model="searchParam.name" size="mini" placeholder="请输入组件名称"></el-input> <el-input clearable v-model="searchParam.name" size="mini" placeholder="请输入创建人名称" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="分类:"> <el-form-item label="分类:">
<el-select v-model="searchParam.category" size="mini" placeholder="请选择发布状态"> <el-select v-model="categoryStatus" size="mini" placeholder="请选择分类">
<el-option <el-option
v-for="(item,index) in category" v-for="(item,index) in category"
:key="index" :key="index"
...@@ -46,7 +46,8 @@ ...@@ -46,7 +46,8 @@
<el-col style="text-align:right;padding:0 30px 15px 0;"> <el-col style="text-align:right;padding:0 30px 15px 0;">
<el-button type="primary" size="small" @click="search">查询</el-button> <el-button type="primary" size="small" @click="search">查询</el-button>
<el-button type="default" size="small" @click="reseat">重置</el-button> <el-button type="default" size="small" @click="reseat">重置</el-button>
<el-button type="primary" size="small" @click="createComponent">新建讨论组件</el-button> <el-button type="primary" size="small" @click="creatFun('1')">举报设置</el-button>
<el-button type="primary" size="small" @click="creatFun('2')">新建讨论组件</el-button>
</el-col> </el-col>
</el-form> </el-form>
</el-row> </el-row>
...@@ -59,7 +60,7 @@ ...@@ -59,7 +60,7 @@
<el-table-column prop="category" label="分类" min-width="50" align="center"></el-table-column> <el-table-column prop="category" label="分类" min-width="50" align="center"></el-table-column>
<el-table-column prop="remark" label="备注" min-width="100" align="center"></el-table-column> <el-table-column prop="remark" label="备注" min-width="100" align="center"></el-table-column>
<el-table-column prop="createdusername" label="创建人" min-width="50" align="center"></el-table-column> <el-table-column prop="createdusername" label="创建人" min-width="50" align="center"></el-table-column>
<el-table-column prop="createdName" label="最后修改人" min-width="100" align="center"></el-table-column> <el-table-column prop="modifiedUsername" label="最后修改人" min-width="100" align="center"></el-table-column>
<el-table-column prop="status" label="状态" min-width="80" align="center"> <el-table-column prop="status" label="状态" min-width="80" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.status | filteFun}}</span> <span>{{ scope.row.status | filteFun}}</span>
...@@ -69,6 +70,7 @@ ...@@ -69,6 +70,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="small" @click="edit(scope.row)">编辑</el-button> <el-button type="primary" v-if="scope.row.status == 3 || scope.row.status == 1" size="small" @click="optFun(scope.row,'发布')">发布</el-button> <el-button type="primary" size="small" @click="edit(scope.row)">编辑</el-button> <el-button type="primary" v-if="scope.row.status == 3 || scope.row.status == 1" size="small" @click="optFun(scope.row,'发布')">发布</el-button>
<el-button type="primary" v-if="scope.row.status == 2" size="small" @click="optFun(scope.row,'下线')">下线</el-button> <el-button type="primary" v-if="scope.row.status == 2" size="small" @click="optFun(scope.row,'下线')">下线</el-button>
<el-button type="primary" size="small" @click="topicManage(scope.row)">话题管理</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -126,6 +128,7 @@ export default { ...@@ -126,6 +128,7 @@ export default {
label:'积木' label:'积木'
} }
], ],
categoryStatus:'积木',
statuSelect: [ statuSelect: [
{ {
label: '未发布', label: '未发布',
...@@ -192,11 +195,12 @@ export default { ...@@ -192,11 +195,12 @@ export default {
if(this.searchParam.name != ''){ if(this.searchParam.name != ''){
name = this.searchParam.name name = this.searchParam.name
} }
console.log(this.categoryStatus)
this.loading = true; this.loading = true;
let url = '/interaction/discuss/'+subject+'/'+name+'/'+status+'/'+this.searchParam.pageNo+'/'+this.searchParam.pageSize let url = '/interaction/discuss/'+this.categoryStatus+'/'+subject+'/'+name+'/'+status+'/'+this.searchParam.pageNo+'/'+this.searchParam.pageSize
this.GET(url).then((res) => { this.GET(url).then((res) => {
this.loading = false this.loading = false
if( res.code == '000000' ) { if( res.code == '000000' ) {
this.tableData = res.data.discuss || [] this.tableData = res.data.discuss || []
this.totalRows = res.data.count this.totalRows = res.data.count
...@@ -219,13 +223,20 @@ export default { ...@@ -219,13 +223,20 @@ export default {
}) })
this.getData() this.getData()
}, },
// 新建组件 creatFun(index){
createComponent() { if(index == 1){
this.$router.push({path: 'creat-discuss'}) this.$router.push({path: '/report-set'})
}, }else if(index == 2){
this.$router.push({path: '/creat-discuss'})
}
},
edit(item){ edit(item){
this.$router.push({path: 'creat-discuss',query:{id:item.id}}) this.$router.push({path: '/creat-discuss',query:{id:item.id}})
},
topicManage(item){
this.$router.push({path: '/topic-list',query:{id:item.id}})
}, },
// 发布、下线 // 发布、下线
...@@ -242,7 +253,7 @@ export default { ...@@ -242,7 +253,7 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.PUT('/interaction/discuss/',{id: row.id,status:status}).then((res) => { this.PUT('/interaction/discuss/release',{id: row.id,status:status}).then((res) => {
if(res.code == "000000") { if(res.code == "000000") {
this.$message({ this.$message({
type: 'success', type: 'success',
......
...@@ -39,16 +39,21 @@ export default { ...@@ -39,16 +39,21 @@ export default {
icon: 'el-icon-menu', icon: 'el-icon-menu',
index: 'item', index: 'item',
subs: [ subs: [
// { {
// title: '讨论组件', title: '讨论组件',
// icon: 'el-icon-setting', icon: 'el-icon-setting',
// index: 'discuss-list' index: 'discuss-list'
// }, },
{ {
title: '问卷管理', title: '问卷管理',
icon: 'el-icon-setting', icon: 'el-icon-setting',
index: 'question-naire' index: 'question-naire'
} },
{
title: '举报管理',
icon: 'el-icon-setting',
index: 'report-set'
}
] ]
}, },
......
此差异已折叠。
<template>
<div class="item-component-wrap">
<bread-crumb
:curmbFirst="curmbFirst"
:curmbSecond="curmbSecond">
</bread-crumb>
<div class="component-content screenSet" id="screenSet">
<div class="search-title">预警邮箱</div>
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;" v-for="(item,index) in reportData" :key="index">
<el-form label-width="75px" style="width:100%;">
<el-col :span="5">
<el-form-item label="姓名:">
<el-input clearable v-model="item.userName" size="mini" placeholder="请输入接收人姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="Dr.id:">
<el-input clearable v-model="item.doctorId" size="mini" placeholder="请输入doctorId"></el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="邮箱地址:">
<el-col :span="12" style="padding-right: 5px;">
<el-input clearable v-model="item.email" size="mini" placeholder="请输入邮箱前缀"></el-input>
</el-col>
<div class='email-h'>@picahealth.com</div>
</el-form-item>
</el-col>
<el-col :span="2">
<div class="opt-icon">
<i class="el-icon-circle-plus-outline" @click="add"></i>
<i class="el-icon-remove-outline" @click="remove(index)" v-if="index > 0"></i>
</div>
</el-col>
</el-form>
</el-row>
<div class="opt-btn">
<el-button type="primary" size="small" @click="save" :disabled="isSaveBack">保存</el-button>
<el-button size="small" class="button-white" @click="goBack">返回</el-button>
</div>
</div>
</div>
</template>
<script>
import BreadCrumb from '../../components/breadcrumb.vue'
import { doUpload, getFilePath } from "../../utils/qiniu-util"
import { validateWord } from "../../utils/validate.js"
import { mapGetters } from 'vuex'
import { openLoading, closeLoading } from '../../utils/utils'
import * as commonUtil from '../../utils/utils'
let vm = null
export default {
components: {
BreadCrumb
},
data() {
return {
curmbFirst: '组件',
curmbSecond: '举报设置',
reportData:[],
isSaveBack:false,
}
},
computed: {
...mapGetters([
'_token',
'idType'
])
},
created() {
this.getData()
},
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight()
},
methods: {
//返回
goBack(){
this.$router.back(-1)
},
//保存
save(){
let index = this.handelData(this.reportData)
console.log(index)
if(index == 1){
this.$message({
message: '姓名、邮箱或doctorId不能为空!',
type: 'warning'
});
return;
}
if(index == 2){
this.$message({
message: '姓名、doctorId不能重复!',
type: 'warning'
});
return;
}
if(index == 3){
this.$message({
message: 'doctorId只能是大于0的纯数字!',
type: 'warning',
});
return;
}
let d = this.handelEmail(this.reportData ,2)
let parm = {
informConfigs:d
}
//JSON.stringify(this.reportData)
this.loading = true;
this.isSaveBack = true;
this.POST('/interaction/informConfig/insertAdmin',parm).then((res) => {
this.loading = false
if( res.code == '000000' ) {
this.$message({
message: '保存成功!',
type: 'success'
});
}else{
this.$message({
message: res.message,
type: 'warning'
});
}
setTimeout(()=>{
this.isSaveBack = false;
},2000)
})
},
add(){
this.reportData.push(
{
"doctorId": '',
"email": "",
"userName": ""
},
)
},
remove(index){
this.reportData.splice(index, 1);
},
//保存
saveFun(){
},
handelData(d){
console.log(d)
let index = null,hash = [],r = /^[1-9]+\d*$/;
for(let i=0;i<d.length;i++){
let parm = d[i].userName + String(d[i].doctorId)
if(d[i].doctorId == '' || d[i].userName == '' || d[i].email == ''){
index = 1
break;
}
if(!r.test(d[i].doctorId)){
console.log(d[i].doctorId)
index = 3
break;
}
if(hash.indexOf(parm) == -1){
hash.push(parm)
}else{
index = 2;
break;
}
}
return index;
},
//处理邮箱展示
handelEmail(d,str){
let A = [],parm = {};
for(let i=0;i<d.length;i++){
parm = {...d[i]}
if(str == 1){
parm['email'] = d[i].email.split("@")[0]
}else if(str == 2){
parm['email'] = d[i].email + '@picahealth.com'
}
A.push(parm)
}
console.log(A)
return A;
},
//获取数据
getData(){
let parm = {
pageNo:1,
pageSize:20
}
this.GET('/interaction/informConfig/getInformList',parm).then((res) => {
if( res.code == '000000' ) {
if(res.data.length == 0){
this.reportData = [{
"doctorId": '',
"email": "",
"userName": ""
},]
}else{
this.reportData = this.handelEmail(res.data,1) || []
}
}else{
this.$message({
message: res.message,
type: 'warning'
});
}
})
},
}
}
</script>
<style lang="scss">
.item-component-wrap {
.component-content {
padding: 10px;
background: #fff;
// margin: 84px 20px 20px;
.search-title {
padding: 10px 12px;
font-size: 12px;
color: #449284;
border-bottom: 1px solid #efefef;
}
.create-button {
padding: 0 0 15px;
margin-top: 0 !important;
text-align: right;
}
.table-empty {
img{
width: 100px;
}
p {
margin-top: -50px;
}
}
.opt-icon{
line-height: 40px;
i{
margin-right: 10px;
}
}
.opt-btn{
text-align: center
}
.email-h{
float: left;
}
}
}
</style>
<template>
<el-dialog :title="title" :visible.sync="dialogFormVisible" @close="optFun('1')">
<el-form :model="form" class="topicOpt">
<el-form-item label="主题" :label-width="formLabelWidth" required>
<el-input v-model="objInfo.topic.subject" auto-complete="off" clearable size="mini" :maxLength="max" placeholder="请输入主题(最长60个字符)"></el-input>
</el-form-item>
<el-form-item label="内容" :label-width="formLabelWidth" >
<el-input type="textarea" v-model="objInfo.topic.content" auto-complete="off" clearable size="mini" :maxLength="maxL" placeholder="请输入主题(最长1000个字符)" rows="5"></el-input>
</el-form-item>
<el-form-item label="话题配图" :label-width="formLabelWidth" class="teste1">
<!-- <el-upload
action="#"
list-type="picture-card"
:file-list="fileList"
:on-change="selectImg"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove">
<i class="el-icon-plus"></i> -->
<el-upload
action="#"
list-type="picture-card"
:file-list="fileList"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:before-upload="beforeAvatarUpload"
>
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible" size="tiny" :modal="false" :close-on-click-modal="false">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="optFun('1')" size="mini">取 消</el-button>
<el-button type="primary" @click="optFun('2')" size="mini" :disabled="isRequestBack">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
import { doUpload, getFilePath } from "../../utils/qiniu-util";
import { mapGetters } from "vuex";
import { openLoading, closeLoading } from "../../utils/utils";
import * as commonUtil from "../../utils/utils";
let vm = null;
export default {
data() {
return {
formLabelWidth:"80px",
form:{},
id:null,
dialogImageUrl:'',
max:60,
maxL:1000,
dialogVisible:false,
dialogFormVisible:false,
fileList:[],
title:'编辑话题',
reType: ['PUT','POST'],
isEdit:false,
objInfo:{
topic:{
subject:'',
content:''
},
images:[]
},
isRequestBack:false,
};
},
props:{
isShow:{
default:false,
type:Boolean
},
editInfo:{
default:()=>{},
type:Object
},
discussId:{
default:0,
type:Number
}
},
computed: {
...mapGetters(["_token", "idType"]),
},
created() {
this.dialogFormVisible = this.isShow
if(this.editInfo.topic){
this.isEdit = true;
this.objInfo = this.editInfo;
}else{
this.title = '新增话题'
this.isEdit = false
}
console.log(this.editInfo);
if(this.objInfo.images.length > 0){
for(let i=0;i<this.objInfo.images.length;i++){
this.fileList.push({
url:this.objInfo.images[i].imageurl,
imageurl:this.objInfo.images[i].imageurl,
id:this.objInfo.images[i].id
})
}
}
},
// 挂载到Dom完成时
mounted: function() {
},
methods: {
handlePictureCardPreview(file){
//console.log(file)
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
selectImg(file){
//console.log(file)
this.fileList.push({
url:file.url,
imageurl:file.url,
})
},
beforeAvatarUpload(file){
//console.log(file)
let imgTypes = ['jpg','png','gif','jpeg']
if(file.type){
let fileType = file.type.split('/')[1];
if(imgTypes.indexOf(fileType) == -1){
this.showError('上传图片格式仅支持png、jpg、jpeg、gif ');
return false;
}
}else{
this.showError('上传图片格式仅支持png,jpg,jpeg,gif!');
return false;
}
// console.log(this.fileList)
if(this.fileList.length > 5 ){
// /、this.$message.info('图片个数不能超过6个')
this.showError('上传图片个数不能超过6个');
return false;
}
this.imgDoUpload(file, 4, 2048, 400, 400)
},
imgDoUpload(file, urlType, size, w, h) {
let vm = this;
const isSize = file.size / 1024 < size;
if (!isSize) {
//vm.$message.info('上传图片要小于' + size + 'k')
//vm.$message.info('上传图片要小于2M')
vm.showError('上传图片要小于2M');
return;
}
var _img = new FileReader()
_img.readAsDataURL(file)
_img.onload = function(theFile) {
let image = new Image()
image.src = theFile.target.result
image.onload = function() {
let _this = this
vm.$message.info('开始上传');
doUpload(vm, file, getFilePath(file, null), 'preview4', 'progress1', 1).then(function(path) {
//console.log(path)
vm.fileList.push({
url:path.fullPath,
imageurl:path.fullPath
})
vm.$message.success('上传成功')
}).catch((res)=>{
console.log(res)
});
}
}
},
handleRemove(file, fileList){
let index = null;
if(this.fileList.length>0){
for(let i=0;i<this.fileList.length;i++){
if(file.url == this.fileList[i].url){
index = i;
break;
}
}
if(index != null){
this.fileList.splice(index,1)
}
//console.log(file)
//console.log(this.fileList)
}
},
optFun(index){
if(index == 1){
this.dialogFormVisible = false;
this.$emit('setFun',false)
}else if(index == 2){
this.subFun()
}
},
//返回
goBack(){
this.$router.back(-1)
},
showError(str){
//console.log(str)
this.$message({
message: str,
type: 'warning'
});
},
//保存修改讨论组件详细
subFun(){
let A = this.isEdit ? this.reType[0] : this.reType[1];
let _this = this;
if(this.objInfo.topic.subject.length == 0){
this.showError('请输入主题!');
return;
}
let parm = {
topic:{
subject:this.objInfo.topic.subject,
content:this.objInfo.topic.content,
discussid:this.objInfo.topic.discussid || this.discussId,
id:this.objInfo.topic.id || null,
official:true
},
images:this.fileList
}
this.isRequestBack = true;
this[A]('/interaction/topic/',parm).then((res) => {
if( res.code == '000000' ) {
this.$message({
message: '操作成功!',
type: 'success'
});
setTimeout(()=>{
this.isRequestBack = false;
this.$emit('setFun',true)
},2000)
}else{
this.isRequestBack = false;
this.$message({
message: res.message,
type: 'error'
});
}
}).catch(function (error) {
///console.log()
//_this.$message.error('接口异常请联系管理员');
});
}
}
};
</script>
<style lang="scss">
.topicOpt{
.el-form-item__content{
width:80%;
}
.el-upload--picture-card{
height: 80px;
width: 80px;
line-height: 80px;
}
.el-upload-list--picture-card .el-upload-list__item{
width: 80px;
height: 80px;
}
.el-form-item__label{
// line-height: 26px;
}
}
</style>
\ No newline at end of file
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册