|
@@ -113,7 +113,7 @@
|
|
|
label="是否参加现场调研"
|
|
|
prop="userInfo.conferenceFlag"
|
|
|
borderBottom
|
|
|
- v-if="rules['userInfo.conferenceFlag']"
|
|
|
+ v-if="rules['userInfo.conferenceFlag']&& model1.userInfo.usrType === USR_TYPE['1'].value"
|
|
|
:class="{
|
|
|
'require': rules['userInfo.conferenceFlag'].required
|
|
|
}"
|
|
@@ -147,7 +147,7 @@
|
|
|
:class="{
|
|
|
'require': rules['userInfo.contentId'].required
|
|
|
}"
|
|
|
- v-if="rules['userInfo.contentId'] && model1.userInfo.conferenceFlag === '0'"
|
|
|
+ v-if="rules['userInfo.contentId'] && false"
|
|
|
>
|
|
|
<SingleDropList
|
|
|
:style="{
|
|
@@ -161,6 +161,57 @@
|
|
|
</SingleDropList>
|
|
|
</u-form-item>
|
|
|
<u-form-item
|
|
|
+ label="是否参加主题研讨"
|
|
|
+ prop="userInfo.themeFlag"
|
|
|
+ borderBottom
|
|
|
+ v-if="rules['userInfo.themeFlag']"
|
|
|
+ :class="{
|
|
|
+ 'require': rules['userInfo.themeFlag'].required
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <u-radio-group
|
|
|
+ v-model="model1.userInfo.themeFlag"
|
|
|
+ placement="row"
|
|
|
+ >
|
|
|
+ <u-radio
|
|
|
+ :style="{
|
|
|
+ marginRight: '20rpx'
|
|
|
+ }"
|
|
|
+ label="是"
|
|
|
+ name="0"
|
|
|
+ >
|
|
|
+ </u-radio>
|
|
|
+ <u-radio
|
|
|
+ :style="{
|
|
|
+ marginRight: '20rpx'
|
|
|
+ }"
|
|
|
+ label="否"
|
|
|
+ name="1"
|
|
|
+ >
|
|
|
+ </u-radio>
|
|
|
+ </u-radio-group>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ label="研讨主题"
|
|
|
+ prop="userInfo.themeId"
|
|
|
+ borderBottom
|
|
|
+ :class="{
|
|
|
+ 'require': rules['userInfo.themeId'].required
|
|
|
+ }"
|
|
|
+ v-if="rules['userInfo.themeId'] && model1.userInfo.themeFlag === '0' && model1.userInfo.usrType === USR_TYPE['2'].value"
|
|
|
+ >
|
|
|
+ <SingleDropList
|
|
|
+ :style="{
|
|
|
+ marginLeft: '20rpx'
|
|
|
+ }"
|
|
|
+ :defaultValue="model1.userInfo.themeId"
|
|
|
+ :src="themes"
|
|
|
+ placeholder="请选择主题"
|
|
|
+ @onChange="themesSelect"
|
|
|
+ >
|
|
|
+ </SingleDropList>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
label="来程交通方式"
|
|
|
prop="userInfo.wayComing"
|
|
|
borderBottom
|
|
@@ -190,7 +241,7 @@
|
|
|
:label="comLabel"
|
|
|
prop="userInfo.comInfo"
|
|
|
borderBottom
|
|
|
- v-if="rules['userInfo.comInfo']"
|
|
|
+ v-if="rules['userInfo.comInfo']&& model1.userInfo.wayComing!=TFC_TYPE['3'].value"
|
|
|
:class="{
|
|
|
'require': rules['userInfo.comInfo'].required
|
|
|
}"
|
|
@@ -202,7 +253,7 @@
|
|
|
></u--input>
|
|
|
</u-form-item>
|
|
|
<u-form-item
|
|
|
- label="回程交通方式"
|
|
|
+ label="去程交通方式"
|
|
|
prop="userInfo.wayBack"
|
|
|
borderBottom
|
|
|
v-if="rules['userInfo.wayBack']"
|
|
@@ -231,7 +282,7 @@
|
|
|
:label="backLabel"
|
|
|
prop="userInfo.backInfo"
|
|
|
borderBottom
|
|
|
- v-if="rules['userInfo.backInfo']"
|
|
|
+ v-if="rules['userInfo.backInfo'] && model1.userInfo.wayBack!=TFC_TYPE['3'].value"
|
|
|
:class="{
|
|
|
'require': rules['userInfo.backInfo'].required
|
|
|
}"
|
|
@@ -249,10 +300,51 @@
|
|
|
ref="item3"
|
|
|
>
|
|
|
<u--textarea
|
|
|
- placeholder="不低于3个字"
|
|
|
+ placeholder="请输入备注"
|
|
|
v-model="model1.userInfo.remark"
|
|
|
></u--textarea>
|
|
|
</u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ label="随行人员名单"
|
|
|
+ >
|
|
|
+ <u-icon name="plus-circle-fill" color="#2979ff" size="28" @click="addFollower" style="margin-left: auto">新增
|
|
|
+ </u-icon>
|
|
|
+ </u-form-item>
|
|
|
+ <view
|
|
|
+ v-for="(item, index) in model1.userInfo.follows"
|
|
|
+ :key="index"
|
|
|
+ class="follower-item"
|
|
|
+ >
|
|
|
+ <view style="display: flex;align-items: center;justify-content: flex-start;">
|
|
|
+ {{ `随行人员${index + 1}` }}
|
|
|
+ <u-icon name="minus-circle-fill" color="red" size="28" @click="()=>minusFollower(index)"
|
|
|
+ style="margin-left: auto">
|
|
|
+ </u-icon>
|
|
|
+ </view>
|
|
|
+ <u-form-item
|
|
|
+ label="姓名"
|
|
|
+ prop="item.usrName"
|
|
|
+ >
|
|
|
+ <u--input
|
|
|
+ placeholder="输入姓名"
|
|
|
+ v-model="item.usrName"
|
|
|
+ border="none"
|
|
|
+ ></u--input>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ label="联系电话"
|
|
|
+ prop="item.tel"
|
|
|
+ borderBottom
|
|
|
+ >
|
|
|
+ <u--input
|
|
|
+ placeholder="输入联系电话"
|
|
|
+ border="none"
|
|
|
+ type="number"
|
|
|
+ maxlength="11"
|
|
|
+ v-model="item.tel"
|
|
|
+ ></u--input>
|
|
|
+ </u-form-item>
|
|
|
+ </view>
|
|
|
</u--form>
|
|
|
<slot name="footer"></slot>
|
|
|
<u-button
|
|
@@ -271,11 +363,19 @@
|
|
|
<script>
|
|
|
|
|
|
import { fetchContentInfo, getDicts } from '@/common/api';
|
|
|
-import { CONTENT_TYPE, TFC_INFO, USR_TYPE_LIST } from '@/common/EnumConst';
|
|
|
+import { CONTENT_TYPE, TFC_INFO, TFC_TYPE, USR_TYPE, USR_TYPE_LIST } from '@/common/EnumConst';
|
|
|
import SingleDropList from '@/components/SingleDropList/index.vue';
|
|
|
import { getImageUrl, getUserInfo } from '@/util';
|
|
|
|
|
|
export default {
|
|
|
+ computed: {
|
|
|
+ USR_TYPE() {
|
|
|
+ return USR_TYPE;
|
|
|
+ },
|
|
|
+ TFC_TYPE() {
|
|
|
+ return TFC_TYPE;
|
|
|
+ },
|
|
|
+ },
|
|
|
components: {
|
|
|
SingleDropList,
|
|
|
},
|
|
@@ -314,9 +414,11 @@ export default {
|
|
|
usrName: '',
|
|
|
conferenceFlag: '0',
|
|
|
usrType: '1',
|
|
|
+ follows: [],
|
|
|
},
|
|
|
},
|
|
|
conferenceHall: [],
|
|
|
+ themes: [],
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -342,10 +444,26 @@ export default {
|
|
|
this.$refs.uForm.setRules(this.rules);
|
|
|
},
|
|
|
getImageUrl,
|
|
|
+ addFollower() {
|
|
|
+ this.model1.userInfo.follows.push({
|
|
|
+ usrName: '',
|
|
|
+ tel: '',
|
|
|
+ });
|
|
|
+ },
|
|
|
+ minusFollower(index) {
|
|
|
+ this.removeItemAtIndex(this.model1.userInfo.follows, index);
|
|
|
+ },
|
|
|
+ removeItemAtIndex(array, index) {
|
|
|
+ array.splice(index, 1);
|
|
|
+ },
|
|
|
conferenceSelect(item) {
|
|
|
this.model1.userInfo.contentId = item.value;
|
|
|
this.$refs.uForm.clearValidate('userInfo.contentId');
|
|
|
},
|
|
|
+ themesSelect(item) {
|
|
|
+ this.model1.userInfo.themeId = item.value;
|
|
|
+ this.$refs.uForm.clearValidate('userInfo.themeId');
|
|
|
+ },
|
|
|
async init() {
|
|
|
const {
|
|
|
code: conferenceCode,
|
|
@@ -363,6 +481,20 @@ export default {
|
|
|
};
|
|
|
});
|
|
|
const {
|
|
|
+ code: themedCode,
|
|
|
+ rows: themeData,
|
|
|
+ } = await fetchContentInfo({
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 99,
|
|
|
+ contentType: CONTENT_TYPE.theme,
|
|
|
+ });
|
|
|
+ this.themes = themeData.map(item => {
|
|
|
+ return {
|
|
|
+ name: item.title,
|
|
|
+ value: item.id,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ const {
|
|
|
code,
|
|
|
data,
|
|
|
} = await getDicts('tfc_type');
|
|
@@ -404,6 +536,7 @@ export default {
|
|
|
usrName: '',
|
|
|
conferenceFlag: '0',
|
|
|
usrType: "1",
|
|
|
+ follows: [],
|
|
|
},
|
|
|
};
|
|
|
const user = getUserInfo();
|