luojie 5 hours ago
parent
commit
5907b15ef3
11 changed files with 65 additions and 32 deletions
  1. +1
    -1
      src/components/LangSelect/index.vue
  2. +18
    -3
      src/views/business/comps/select/SelectDeptUser.vue
  3. +14
    -9
      src/views/business/comps/select/SelectDeptUserDialog.vue
  4. +9
    -7
      src/views/business/comps/select/SelectDeptUserMultipleDialog.vue
  5. +4
    -2
      src/views/business/form/drug/comp/edit.vue
  6. +1
    -1
      src/views/business/form/drug/list.vue
  7. +4
    -2
      src/views/business/form/nonTrial/comp/edit.vue
  8. +1
    -1
      src/views/business/form/nonTrial/list.vue
  9. +4
    -2
      src/views/business/study/comp/edit.vue
  10. +8
    -3
      src/views/business/study/comp/suject.vue
  11. +1
    -1
      src/views/business/study/list.vue

+ 1
- 1
src/components/LangSelect/index.vue View File

@ -28,7 +28,7 @@ export default {
handleSetLanguage(value) {
this.$i18n.locale = value
this.$store.dispatch('app/setLanguage', value)
window.location.reload();
// window.location.reload();
// this.$message({ message: '', type: 'success' })
// changeLanguage(value).then(response => {
// window.location.reload();

+ 18
- 3
src/views/business/comps/select/SelectDeptUser.vue View File

@ -2,7 +2,8 @@
<template>
<div>
<el-input v-model="selected.name" :placeholder="$t('form.placeholderSelect')" readonly @click.native="showSelectDeptUser" />
<el-input v-if="$i18n.locale === 'zh_CN'" v-model="selected.name" :placeholder="$t('form.placeholderSelect')" readonly @click.native="showSelectDeptUser" />
<el-input v-else v-model="selected.nameEn" :placeholder="$t('form.placeholderSelect')" readonly @click.native="showSelectDeptUser" />
<SelectDeptUserDialog ref="selectDeptUserDialog" @change="handleChange" />
</div>
</template>
@ -21,6 +22,10 @@ export default {
type: String,
default: ''
},
nameEn: {
type: String,
default: ''
},
readOnly: {
type: Boolean,
default: false
@ -41,12 +46,21 @@ export default {
}
}
},
nameEn: {
immediate: true,
handler(v) {
if(v&&v!=undefined&&v!=''){
this.selected.nameEn=v
}
}
},
},
data() {
return {
selected:{
id:'',
name:''
name:'',
nameEn:'',
},
};
},
@ -55,11 +69,12 @@ export default {
methods: {
showSelectDeptUser(){
if(!this.readOnly){
this.$refs.selectDeptUserDialog.show(this.selected.id,this.selected.name)
this.$refs.selectDeptUserDialog.show(this.selected.id,this.selected.name,this.selected.nameEn)
}
},
handleChange(obj) {
this.selected.name=obj.name
this.selected.nameEn=obj.nameEn
this.$emit('change', obj)
this.$emit('input', obj.id)
},

+ 14
- 9
src/views/business/comps/select/SelectDeptUserDialog.vue View File

@ -21,8 +21,8 @@
node-key="id"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<el-radio :ref="'radio'+data.id" v-if="data.type===7" v-model="selected.id" :label="data.id" @change="handleChange(data)" class="select-dept-user-check-radio-box">{{ data.name }}</el-radio>
<span v-else>{{ data.name }}</span>
<el-radio :ref="'radio'+data.id" v-if="data.type===7" v-model="selected.id" :label="data.id" @change="handleChange(data)" class="select-dept-user-check-radio-box">{{ $i18n.locale === 'zh_CN'?data.name:data.nameEn }}</el-radio>
<span v-else>{{ $i18n.locale === 'zh_CN'?data.name:data.nameEn }}</span>
</span>
</el-tree>
</el-col>
@ -30,7 +30,7 @@
<div>已选</div>
<div class="select-user-selected" v-if="selected.id!=''">
<div class="select-user-selected-item">
<div class="select-user-selected-name">{{selected.name}}</div>
<div class="select-user-selected-name">{{$i18n.locale === 'zh_CN'?selected.name:selected.nameEn}}</div>
<div class="select-user-selected-del"><i class="el-icon-delete" @click="delSelected"></i></div>
</div>
</div>
@ -63,7 +63,8 @@ export default {
selected:{
id:'',
name:''
name:'',
nameEn:''
},
listData: [],
@ -78,17 +79,18 @@ export default {
mounted() {
},
methods: {
show(id,name){
show(id,name,nameEn){
this.getList()
this.selected.id = id ?((id+'').indexOf('u_')>-1? id:('u_'+id)):''
this.selected.name=name || ''
this.selected.nameEn=nameEn || ''
this.open = true
this.filterText = ''
},
filterNode(value, data) {
if (!value) return true;
return data.name.indexOf(value) !== -1;
return this.$i18n.locale === 'zh_CN'?(data.name.indexOf(value) !== -1):(data.nameEn.indexOf(value) !== -1);
},
getList() {
this.listData = []
@ -102,7 +104,8 @@ export default {
if(data && data.type===7){
this.selected = {
id:data.id,
name:data.name
name:data.name,
nameEn:data.nameEn,
}
}
},
@ -117,7 +120,8 @@ export default {
save(){
let obj = {
id:this.selected && this.selected.id?this.selected.id.replace('u_',''):'',
name:this.selected.name
name:this.selected.name,
nameEn:this.selected.nameEn,
}
this.$emit('change', obj)
this.$emit('input', obj.id)
@ -126,7 +130,8 @@ export default {
delSelected(){
this.selected = {
id:'',
name:''
name:'',
nameEn:'',
}
}
}

+ 9
- 7
src/views/business/comps/select/SelectDeptUserMultipleDialog.vue View File

@ -21,9 +21,9 @@
node-key="id"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<el-checkbox :ref="'checkbox'+data.id" v-if="data.type===7" :checked="isCheck(data.id)" @change="handleChange(data)" class="select-dept-user-check-radio-box">{{ data.name }}</el-checkbox>
<el-checkbox :ref="'checkbox'+data.id" v-if="data.type===7" :checked="isCheck(data.id)" @change="handleChange(data)" class="select-dept-user-check-radio-box">{{ $i18n.locale === 'zh_CN'?data.name:data.nameEn }}</el-checkbox>
<!-- <el-radio :ref="'radio'+data.id" v-if="data.type===7" v-model="selected.id" :label="data.id">{{ data.name }}</el-radio> -->
<span v-else>{{ data.name }}</span>
<span v-else>{{ $i18n.locale === 'zh_CN'?data.name:data.nameEn }}</span>
</span>
</el-tree>
</el-col>
@ -31,7 +31,7 @@
<div>已选</div>
<div class="select-user-selected" v-if="selected.length>0">
<div class="select-user-selected-item" v-for="(item,index) in selected" :key="index">
<div class="select-user-selected-name">{{item.name}}</div>
<div class="select-user-selected-name">{{$i18n.locale === 'zh_CN'?item.name:item.nameEn}}</div>
<div class="select-user-selected-del"><i class="el-icon-delete" @click="delSelected(item)"></i></div>
</div>
</div>
@ -87,7 +87,8 @@ export default {
this.selectedIds.push(id)
this.selected.push({
id : id,
name:item.name
name:item.name,
nameEn:item.nameEn,
})
})
this.open = true
@ -98,7 +99,7 @@ export default {
},
filterNode(value, data) {
if (!value) return true;
return data.name.indexOf(value) !== -1;
return $i18n.locale === 'zh_CN'?(data.name.indexOf(value) !== -1):(data.nameEn.indexOf(value) !== -1);
},
getList() {
this.listData = []
@ -119,7 +120,7 @@ export default {
this.selected.splice(index,1)
this.selectedIds.splice(index,1)
}else{
this.selected.push({id:data.id,name:data.name})
this.selected.push({id:data.id,name:data.name,nameEn:data.nameEn})
this.selectedIds.push(data.id)
}
// this.$refs['checkbox'+data.id].$el.querySelector('input').checked = !isSelect
@ -138,7 +139,8 @@ export default {
for(let i=0;i<this.selected.length;i++){
backList.push({
id:this.selected[i] && this.selected[i].id?this.selected[i].id.replace('u_',''):'',
name:this.selected[i].name
name:this.selected[i].name,
nameEn:this.selected[i].nameEn,
})
}
this.$emit('change', backList)

+ 4
- 2
src/views/business/form/drug/comp/edit.vue View File

@ -26,7 +26,7 @@
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.drug.leader')+':'" prop="leader">
<SelectDeptUser @change="changeLeader" v-model="infoDialog.formData.leader" :name="infoDialog.formData.leaderName" />
<SelectDeptUser @change="changeLeader" v-model="infoDialog.formData.leader" :name="infoDialog.formData.leaderName" :nameEn="infoDialog.formData.leaderNameEn" />
</el-form-item>
</el-col>
<el-col :span="24">
@ -51,6 +51,7 @@ const EmptyDialogData = {
sn:'',
leader:'',
leaderName:'',
leaderNameEn:'',
reamrk:'',
}
export default {
@ -91,11 +92,12 @@ export default {
changeLeader(val){
this.infoDialog.formData.leader = val.id
this.infoDialog.formData.leaderName = val.name
this.infoDialog.formData.leaderNameEn = val.nameEn
this.$refs.infoDialogForm.clearValidate('leader')
},
edit(row) {
this.$refs['infoDialogForm'] && this.$refs['infoDialogForm'].resetFields()
this.infoDialog.formData = _.merge({}, EmptyDialogData,{leader:this.$store.getters.id,leaderName:this.$store.getters.nickName})
this.infoDialog.formData = _.merge({}, EmptyDialogData,{leader:this.$store.getters.id,leaderName:this.$store.getters.nickName,leaderNameEn:this.$store.getters.name})
this.oldStatus = 1
if(row && row.id){
this.$modal.loading()

+ 1
- 1
src/views/business/form/drug/list.vue View File

@ -74,7 +74,7 @@
<el-table-column :label="$t('page.business.study.drug.formCount')" align="center" prop="formCount" width="100" />
<el-table-column :label="$t('page.business.study.drug.formFinishCount')" align="center" prop="formFinishCount" width="120" />
<el-table-column :label="$t('page.business.study.drug.leader')" align="center" prop="leaderName" width="100" />
<el-table-column :label="$t('page.business.study.drug.leader')" align="center" :prop="$i18n.locale === 'zh_CN'?'leaderName':'leaderNameEn'" width="100" />
<el-table-column :label="$t('page.business.study.drug.dept')" align="center" prop="deptName" width="120" />
<el-table-column :label="$t('page.business.study.drug.createDate')" align="center" prop="createTime" width="140" />

+ 4
- 2
src/views/business/form/nonTrial/comp/edit.vue View File

@ -26,7 +26,7 @@
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.nonTrial.leader')+':'" prop="leader">
<SelectDeptUser @change="changeLeader" v-model="infoDialog.formData.leader" :name="infoDialog.formData.leaderName" />
<SelectDeptUser @change="changeLeader" v-model="infoDialog.formData.leader" :name="infoDialog.formData.leaderName" :nameEn="infoDialog.formData.leaderNameEn" />
</el-form-item>
</el-col>
<el-col :span="24">
@ -51,6 +51,7 @@ const EmptyDialogData = {
sn:'',
leader:'',
leaderName:'',
leaderNameEn:'',
reamrk:'',
}
export default {
@ -91,11 +92,12 @@ export default {
changeLeader(val){
this.infoDialog.formData.leader = val.id
this.infoDialog.formData.leaderName = val.name
this.infoDialog.formData.leaderNameEn = val.nameEn
this.$refs.infoDialogForm.clearValidate('leader')
},
edit(row) {
this.$refs['infoDialogForm'] && this.$refs['infoDialogForm'].resetFields()
this.infoDialog.formData = _.merge({}, EmptyDialogData,{leader:this.$store.getters.id,leaderName:this.$store.getters.nickName})
this.infoDialog.formData = _.merge({}, EmptyDialogData,{leader:this.$store.getters.id,leaderName:this.$store.getters.nickName,leaderNameEn:this.$store.getters.name})
this.oldStatus = 1
if(row && row.id){
this.$modal.loading()

+ 1
- 1
src/views/business/form/nonTrial/list.vue View File

@ -74,7 +74,7 @@
<el-table-column :label="$t('page.business.study.nonTrial.formCount')" align="center" prop="formCount" width="100" />
<el-table-column :label="$t('page.business.study.nonTrial.formFinishCount')" align="center" prop="formFinishCount" width="120" />
<el-table-column :label="$t('page.business.study.nonTrial.leader')" align="center" prop="leaderName" width="100" />
<el-table-column :label="$t('page.business.study.nonTrial.leader')" align="center" :prop="$i18n.locale === 'zh_CN'?'leaderName':'leaderNameEn'" width="100" />
<el-table-column :label="$t('page.business.study.nonTrial.dept')" align="center" prop="deptName" width="120" />
<el-table-column :label="$t('page.business.study.nonTrial.createDate')" align="center" prop="createTime" width="140" />

+ 4
- 2
src/views/business/study/comp/edit.vue View File

@ -26,7 +26,7 @@
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.study.leader')+':'" prop="leader">
<SelectDeptUser @change="changeLeader" v-model="infoDialog.formData.leader" :name="infoDialog.formData.leaderName" />
<SelectDeptUser @change="changeLeader" v-model="infoDialog.formData.leader" :name="infoDialog.formData.leaderName" :nameEn="infoDialog.formData.leaderNameEn" />
</el-form-item>
</el-col>
<el-col :span="24">
@ -51,6 +51,7 @@ const EmptyDialogData = {
sn:'',
leader:'',
leaderName:'',
leaderNameEn:'',
reamrk:'',
}
export default {
@ -91,11 +92,12 @@ export default {
changeLeader(val){
this.infoDialog.formData.leader = val.id
this.infoDialog.formData.leaderName = val.name
this.infoDialog.formData.leaderNameEn = val.nameEn
this.$refs.infoDialogForm.clearValidate('leader')
},
edit(row) {
this.$refs['infoDialogForm'] && this.$refs['infoDialogForm'].resetFields()
this.infoDialog.formData = _.merge({}, EmptyDialogData,{leader:this.$store.getters.id,leaderName:this.$store.getters.nickName})
this.infoDialog.formData = _.merge({}, EmptyDialogData,{leader:this.$store.getters.id,leaderName:this.$store.getters.nickName,leaderNameEn:this.$store.getters.name})
this.oldStatus = 1
if(row && row.id){
this.$modal.loading()

+ 8
- 3
src/views/business/study/comp/suject.vue View File

@ -15,7 +15,7 @@
</div>
<div class="subject-content">
<div class="subject-item" :class="selectedSubjectId===item.id?'active':''" v-for="(item,index) in subjectList" :key="index" @click="changeSelectedSubject(item)">
<div class="subject-item-name">{{item.deptName}}({{item.leaderName}})</div>
<div class="subject-item-name">{{item.deptName}}({{$i18n.locale === 'zh_CN'?item.leaderName:item.leaderNameEn}})</div>
<div class="subject-item-add" v-if="operate && item.leader==userId">
<el-button type="primary" plain @click.stop="yq(item)">{{$t('page.business.study.studyEnter.yq')}}</el-button>
</div>
@ -34,7 +34,8 @@
<template slot-scope="scope">
<div class="subject-table-box">
<div class="subject-table-left">
<el-input v-model="scope.row.leaderName" maxlength="100" readonly />
<el-input v-if="$i18n.locale === 'zh_CN'" v-model="scope.row.leaderName" maxlength="100" readonly />
<el-input v-else v-model="scope.row.leaderNameEn" maxlength="100" readonly />
</div>
<div class="subject-table-right">
<el-button type="primary" plain @click="chooseLeader(scope.row)">{{$t('page.business.study.studyEnter.xzfzr')}}</el-button>
@ -109,6 +110,7 @@ export default {
subject:{
leader:'',
leaderName:'',
leaderNameEn:'',
},
saveList:[]
@ -197,11 +199,12 @@ export default {
},
chooseLeader(row){
this.infoDialog.subject = row
this.$refs.selectSubjectDeptUserDialog.show(this.infoDialog.subject.leader,this.infoDialog.subject.leaderName)
this.$refs.selectSubjectDeptUserDialog.show(this.infoDialog.subject.leader,this.infoDialog.subject.leaderName,this.infoDialog.subject.leaderNameEn)
},
changeSubject(val){
this.infoDialog.subject.leader = val.id
this.infoDialog.subject.leaderName = val.name
this.infoDialog.subject.leaderNameEn = val.nameEn
this.infoDialog.subject.select = true
let index = _.findIndex(this.infoDialog.list,(item)=>{
return item.deptId===this.infoDialog.subject.deptId
@ -219,6 +222,7 @@ export default {
memberList.push({
id:response.data[i].userId,
name:response.data[i].userName,
nameEn:response.data[i].userNameEn,
})
}
this.$refs.selectSubjectDeptUserMultipleDialog.show(memberList)
@ -233,6 +237,7 @@ export default {
postList.push({
userId:item.id,
userName:item.name,
userNameEn:item.nameEn,
})
}
}

+ 1
- 1
src/views/business/study/list.vue View File

@ -74,7 +74,7 @@
<el-table-column :label="$t('page.business.study.study.formCount')" align="center" prop="formCount" width="100" />
<el-table-column :label="$t('page.business.study.study.formFinishCount')" align="center" prop="formFinishCount" width="120" />
<el-table-column :label="$t('page.business.study.study.leader')" align="center" prop="leaderName" width="100" />
<el-table-column :label="$t('page.business.study.study.leader')" align="center" :prop="$i18n.locale === 'zh_CN'?'leaderName':'leaderNameEn'" width="100" />
<el-table-column :label="$t('page.business.study.study.createDate')" align="center" prop="createTime" width="140" />
<el-table-column :label="$t('form.operate')" fixed="right" align="center" width="200">

Loading…
Cancel
Save