班前会议参会人员变为多选

This commit is contained in:
yunkexin 2026-06-02 16:04:44 +08:00
parent 11030ffae0
commit 0914adb26d

View File

@ -33,11 +33,19 @@
<u--textarea v-model="model.OTHER_CONTENT" placeholder="请输入其他内容" border="surround"></u--textarea> <u--textarea v-model="model.OTHER_CONTENT" placeholder="请输入其他内容" border="surround"></u--textarea>
<view class="upload-title">附件</view> <view class="upload-title">附件</view>
<full-upload v-model="model.Nav_Files" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload> <full-upload v-model="model.Nav_Files" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="参会人员" @click="handleShowUserSelector">
<u-icon name="man-add" size="24" color="#3d9cff" slot="right"></u-icon>
</u-form-item>
<view class="tag-view" v-if="model.Nav_Users">
<view v-for="(i, k) in model.Nav_Users.filter(i => !i.IS_DELETED)">
<u-tag plain class="tag" :key="k" :inverted="true" :text="i.Nav_User.NAME" type="primary" />
</view>
</view>
</u--form> </u--form>
<!-- </uni-card> --> <!-- </uni-card> -->
</view> </view>
<u-sticky offset-top="20"> <!-- <u-sticky offset-top="20">
<view class="sub-form" style="margin:20px 16px 20px 16px;padding-bottom: 100px;"> <view class="sub-form" style="margin:20px 16px 20px 16px;padding-bottom: 100px;">
<view class="sub-form-wrap"> <view class="sub-form-wrap">
<view class="sub-form-btns"> <view class="sub-form-btns">
@ -61,11 +69,13 @@
</u--form> </u--form>
</view> </view>
</view> </view>
</u-sticky> </u-sticky> -->
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" @cancel="cancelDel" showCancelButton title="确认删除?"></u-modal> <u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" @cancel="cancelDel" showCancelButton title="确认删除?"></u-modal>
<query-selector :show="showPopup" :lists="userLists" :defaultValue="currentOperateUser.NAME" @close="handleClosePopup" @search="handleSearchUser" @select="handleSelectedUser" /> <query-selector :show="showPopup" :lists="userLists" :defaultValue="currentOperateUser.NAME" @close="handleClosePopup" @search="handleSearchUser" @select="handleSelectedUser" />
<query-selector :show="showPopupMonitor" :total="curTotalMonitor" :lists="monitorLists" :defaultValue="currentOperateMonitor.NAME" @close="handleClosePopupMonitor" @search="handleSearchMonitor" <query-selector :show="showPopupMonitor" :total="curTotalMonitor" :lists="monitorLists" :defaultValue="currentOperateMonitor.NAME" @close="handleClosePopupMonitor" @search="handleSearchMonitor"
@select="handleSelectedMonitor" /> @select="handleSelectedMonitor" />
<people-selector :defaultChecked="peopleSelectOption.defaultChecked" :show="peopleSelectOption.showSelector" @select="handleSelectorPeople" @close="peopleSelectOption.showSelector = false">
</people-selector>
<u-picker :show="comPickerInfo.showSheet" :columns="comPickerInfo.columns" @confirm="onConfirmPicker" @close="closePicker" @cancel="closePicker" keyName="NAME"></u-picker> <u-picker :show="comPickerInfo.showSheet" :columns="comPickerInfo.columns" @confirm="onConfirmPicker" @close="closePicker" @cancel="closePicker" keyName="NAME"></u-picker>
<!-- <view class="bottom-button"> <!-- <view class="bottom-button">
<button type="primary" @click="submit('Save')" style="width: 45%;float: left;">保存</button> <button type="primary" @click="submit('Save')" style="width: 45%;float: left;">保存</button>
@ -162,6 +172,11 @@
TaskID: '', TaskID: '',
isLoadOK: false, isLoadOK: false,
showDelModalIndex: undefined, showDelModalIndex: undefined,
peopleSelectOption: {
showSelector: false,
value: null,
defaultChecked: []
},
dateTimePickerInfo: { dateTimePickerInfo: {
showCheckDate: false, showCheckDate: false,
dataIndex: undefined, dataIndex: undefined,
@ -191,6 +206,37 @@
} }
}, },
methods: { methods: {
handleSelectorPeople(e) {
const {
index: key
} = this.peopleSelectOption
this.model.Nav_Users= e.map(i => {
return {
USER_ID: i.USER_ID,
IS_DELETED: i.IS_DELETED,
PRE_SHIFT_MEETING_RECORD_ID: this.model.ID,
NAME: i.NAME,
Nav_User: {
NAME: i.NAME,
ID: i.USER_ID
}
}
})
},
handleShowUserSelector() {
console.log(this.model.Nav_Users,'0000')
this.peopleSelectOption = {
showSelector: true,
value: this.model.Nav_Users,
defaultChecked: this.model.Nav_Users?.map(i => {
return {
...i,
NAME: i.Nav_User.NAME,
USER_ID: i.USER_ID,
}
})
}
},
handleAdd() { handleAdd() {
this.model.Nav_Users.unshift({ this.model.Nav_Users.unshift({
PRE_SHIFT_MEETING_RECORD_ID: this.model.ID, PRE_SHIFT_MEETING_RECORD_ID: this.model.ID,
@ -535,7 +581,7 @@
} }
.card { .card {
margin: 20px 16px 20px 16px; margin: 20px 16px 140px 16px;
/* border: 1px solid #EBEEF5; */ /* border: 1px solid #EBEEF5; */
padding: 20px 30px 40px 30px; padding: 20px 30px 40px 30px;
/* box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 3px 1px; */ /* box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 3px 1px; */