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. 58
      src/views/HosInformation.vue

52
src/components/BatchProject.vue

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

1
src/components/GuipTable.vue

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

58
src/views/HosInformation.vue

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

Loading…
Cancel
Save