Browse Source

添加交互逻辑

admin_version1.0_2025_06_26
zq 3 weeks ago
parent
commit
62da89e47b
  1. 52
      src/components/BatchProject.vue
  2. 1
      src/components/GuipTable.vue
  3. 54
      src/views/HosInformation.vue

52
src/components/BatchProject.vue

@ -4,19 +4,19 @@
录入格式1.请按照 项目名称 空格 单次价格 格式输入2.每行一条数据 回车 确认</p>
<div class="content-wrap">
<el-form :model="form" :rules="formRules">
<GuipRadio v-model="groupType" class="radio-form" :options="groupOptions" label="分组形式" prop="language" @change="radioChange" />
<GuipFormItem class="mb24 mt24" v-if="groupType==1" label="已有分组">
<div class="tabProject flex" slot="formDom" >
<div :class="['tab-item ', projectSearchId == item.id ? 'active' : '']" @click="selectTag(item)"
<GuipRadio v-model="form.groupType" class="radio-form" :options="groupOptions" label="分组形式" prop="language" />
<GuipFormItem class="mb24 mt24" v-if="form.groupType==1" label="已有分组">
<div class="tabProject tabProject1 flex" slot="formDom" >
<div :class="['tab-item point', form.classify_id == item.id ? 'active' : '']" @click="selectTag(item)"
v-for="(item) in projectTagData" :key="item.name">{{ item.name }}</div>
</div>
</GuipFormItem>
<GuipFormItem v-if="groupType == 2" class="mb24 mt24" label="分组名称">
<GuipInput slot="formDom" ref="GuipInput" v-model="form.name"
prop="name" placeholder="请填写新增分组名称" @change="changeName"/>
<GuipFormItem v-if="form.groupType == 2" class="mb24 mt24" label="分组名称">
<GuipInput slot="formDom" ref="GuipInput" v-model="form.classify_name"
prop="classify_name" placeholder="请填写新增分组名称"/>
</GuipFormItem>
<GuipFormItem class=" form-special" label="录入项目">
<GuipTextarea slot="formDom" v-model="form.notice" prop="description" width="100%" height="262px"
<GuipTextarea slot="formDom" v-model="form.project_contents" prop="description" width="100%" height="262px"
autosize :placeholder="'例如:\n推拿 168\n针灸 100'" @change="getNotice"/>
</GuipFormItem>
</el-form>
@ -41,38 +41,39 @@ export default {
data() {
return {
formRules: {
name: [
classify_name: [
{ required: true, message: '请输入', trigger: 'blur' }
],
},
form:{
name:'',
},
classify_name:'',
groupType: '1',
notice:'',
projectSearchId:'',
project_contents:'',
classify_id:''
},
groupOptions: [
{ label: '归入已有分组', value: '1' },
{ label: '新增分组', value: '2' }, //
{ label: '不分组', value: '3' },
// { label: '', value: '3' },
],
}
},
methods: {
getNotice(e){
// \n
let flag = e.includes('\n')
console.log(JSON.stringify(e),flag,'===---');
},
changeName(e){
console.log(e,'===---');
},
radioChange(data) {
console.log(data, 'radio--data');
let str = e.replace('\n','')
this.form.project_contents = str;
},
selectTag(item){
this.projectSearchId = item.id
this.form.classify_id = item.id
},
formReset(){
this.form = {
classify_name:'',
groupType: '1',
project_contents:'',
classify_id:''
}
}
},
}
@ -128,6 +129,9 @@ export default {
background: #F2F3F5;
}
}
.tabProject1{
width: 100%;
}
.form-special{
align-items: flex-start;
}

1
src/components/GuipTable.vue

@ -78,7 +78,6 @@ export default {
methods: {
handleSelectionChange(row) {
//
console.log(row, '======');
this.$emit('selectChange', row)
},
//

54
src/views/HosInformation.vue

@ -270,7 +270,7 @@
<GuipDialog :dialogVisible="dialogVisible" :title="dialogTitle" :show-close-button="true" width="762"
:show-cancel-button="true" @confirm="handleConfirm" @cancel="handleCancel"
@close="handleClose" @dialogVisibleChange="dialogVisibleChange">
<BatchProject v-if="dialogType == '1'" :projectTagData="projectTagData" @getproTag="getProTagData" />
<BatchProject ref="channelProject" v-if="dialogType == '1'" :projectTagData="projectTagData" />
</GuipDialog>
<GuipDialog :dialogVisible="dialogVisible1" :title="'新增项目分组'" :show-close-button="true" width="599px"
type="center" :show-cancel-button="true" @confirm="handleConfirm" @cancel="handleCancel"
@ -634,16 +634,6 @@ export default {
console.error(error, 'error')
})
},
getProTagData() {
this.$http('POST', '/supernew/ajax_get_type_batch_list', {
}).then(response => {
this.projectTagData = response.data
}).catch(error => {
console.error(error, 'error')
})
},
//
changePrice(row) {
if (row.sort) {
@ -664,14 +654,14 @@ export default {
}).then(response => {
if (response.code == 0) {
this.$Message.success('修改成功')
this.getInitData()
this.fetchProjectData()
}
}).catch(error => {
console.error(error, 'error')
})
},
addNewSetMenu() {
this.$router.push(`/addNewTreatment?doctor_id=${this.doctor_id}&depart_id${this.depart_id}`)
this.$router.push(`/addNewTreatment?doctor_id=${this.doctor_id}&depart_id=${this.depart_id}`)
},
addNewGroup(){
this.dialogVisible1 = true
@ -697,22 +687,50 @@ export default {
if (this.dialogVisible1) {
this.$refs['projectNameForm'].validate((valid) => {
if (valid) {
alert('submit!');
this.$http('POST', '/api/admin/add_project_group', {
name:this.form1.projectName.trim(),
depart_id: this.depart_id,
doctor_id: this.doctor_id,
}).then(response => {
if (response.code == 0) {
this.$Message.success('修改成功')
this.dialogVisible1 = false;
this.form1.projectName = ''
this.fetchProjectData()
}
}).catch(error => {
this.$Message.error(error || '错误!')
})
} else {
console.log('error submit!!');
this.$Message.info('项目分组名称不可为空')
return false;
}
});
} else if (this.dialogVisible) {
this.$Message.success('点击了确认按钮');
let data = this.$refs.channelProject.form;
if(!data.project_contents || (data.groupType == '1' && !data.classify_id) || (data.groupType == '2' && !data.classify_name)){
this.$Message.info('请填写完整信息!')
}else{
this.$http('POST', '/api/admin/mitil_add_project', {
depart_id: this.depart_id,
doctor_id: this.doctor_id,
...data
}).then(response => {
if (response.code == 0) {
this.$Message.success('新增项目成功')
this.$refs.channelProject.formReset()
this.dialogVisible = false;
this.fetchProjectData();
}
}).catch(error => {
this.$Message.error(error || '错误!')
})
}
}
},
//
handleCancel() {
this.$Message.warning('点击了取消按钮');
if(this.dialogVisible)this.$refs.channelProject.formReset()
this.dialogVisible = false;
this.dialogVisible1 = false;
},

Loading…
Cancel
Save