|
|
@@ -0,0 +1,536 @@
|
|
|
+<!--
|
|
|
+ * @Author: liuzhenlin 461480418@qq.ocm
|
|
|
+ * @Date: 2023-01-12 11:57:48
|
|
|
+ * @LastEditors: liuzhenlin
|
|
|
+ * @LastEditTime: 2023-09-21 18:26:35
|
|
|
+ * @Description: file content
|
|
|
+ * @FilePath: \labsop小程序\pages\message\appoint\components\subAppoint.vue
|
|
|
+-->
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <van-popup v-model:show="popupShow" round :closeable="true">
|
|
|
+ <div class="pupop-wrap">
|
|
|
+ <span style="margin-bottom: 10px" class="primary-color fontSize16 bold">提交预约</span>
|
|
|
+ <div class="main">
|
|
|
+ <van-form ref="addForm" label-width="0">
|
|
|
+ <van-cell-group inset>
|
|
|
+ <van-field
|
|
|
+ v-model="addForm.startTime"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ label="所在时间"
|
|
|
+ placeholder="所在时间"
|
|
|
+ :rules="[{ required: true, message: '开始时间不能为空' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="addForm.endTime"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ label="结束时间"
|
|
|
+ placeholder="结束时间"
|
|
|
+ :rules="[{ required: true, message: '结束时间不能为空' }]"
|
|
|
+ />
|
|
|
+ </van-cell-group>
|
|
|
+ <div v-if="appointId == 0">
|
|
|
+ <van-cell-group inset style="padding: 40rpx 0 30rpx" v-if="isActiveService">
|
|
|
+ <van-field name="radio" label="课题/服务">
|
|
|
+ <template #input>
|
|
|
+ <van-radio-group v-model="addForm.projectType" direction="horizontal" @change="changeProjectType">
|
|
|
+ <van-radio style="margin-right: 20px" name="project">课题</van-radio>
|
|
|
+ <van-radio name="service">服务</van-radio>
|
|
|
+ </van-radio-group>
|
|
|
+ </template>
|
|
|
+ </van-field>
|
|
|
+ </van-cell-group>
|
|
|
+ <van-cell-group inset style="padding: 40rpx 0 30rpx" v-if="addForm.projectType == 'project'">
|
|
|
+ <van-field label="课题" @click="showProject = true" v-model="addForm.projectName"> </van-field>
|
|
|
+ </van-cell-group>
|
|
|
+ <van-cell-group inset style="padding: 40rpx 0 30rpx" v-if="addForm.projectType == 'service'">
|
|
|
+ <van-field label="服务" @click="shwoService = true" v-model="addForm.serviceName"> </van-field>
|
|
|
+ </van-cell-group>
|
|
|
+ <!-- <van-cell-group
|
|
|
+ inset
|
|
|
+ v-if="addForm.projectType == 'project'"
|
|
|
+ prop="expenseCardId"
|
|
|
+ borderBottom
|
|
|
+ style="padding: 40rpx 0 30rpx"
|
|
|
+ @click="showExpenseCard = true"
|
|
|
+ >
|
|
|
+ <div class="form-label flex_l">
|
|
|
+ <div class="label-tag"></div>
|
|
|
+ 经费卡
|
|
|
+ </div>
|
|
|
+ <u-input
|
|
|
+ :readonly="true"
|
|
|
+ placeholder="请选择经费卡"
|
|
|
+ v-model="addForm.expenseCardName"
|
|
|
+ border="none"
|
|
|
+ suffixIcon="arrow-down"
|
|
|
+ suffixIconStyle="color:#CDCDCD"
|
|
|
+ clearable
|
|
|
+ style="padding: 0 30rpx 0 12rpx"
|
|
|
+ ></u-input>
|
|
|
+ </van-cell-group> -->
|
|
|
+ </div>
|
|
|
+ <!-- <van-cell-group inset prop="expenseCardId" borderBottom style="padding: 40rpx 0 30rpx" @click="openSelectUser">
|
|
|
+ <div class="form-label flex_l">预约人</div>
|
|
|
+ <u-input
|
|
|
+ :readonly="true"
|
|
|
+ placeholder="请选择预约人"
|
|
|
+ v-model="addForm.nickName"
|
|
|
+ border="none"
|
|
|
+ suffixIcon="arrow-down"
|
|
|
+ suffixIconStyle="color:#CDCDCD"
|
|
|
+ clearable
|
|
|
+ style="padding: 0 30rpx 0 12rpx"
|
|
|
+ ></u-input>
|
|
|
+ </van-cell-group>
|
|
|
+ <van-cell-group inset prop="userContact" borderBottom style="padding: 40rpx 0 30rpx">
|
|
|
+ <div class="form-label flex_l">联系电话</div>
|
|
|
+ <u-input
|
|
|
+ placeholder="输入联系电话"
|
|
|
+ v-model="addForm.userContact"
|
|
|
+ :disabled="appointId != 0"
|
|
|
+ border="none"
|
|
|
+ clearable
|
|
|
+ style="padding: 0 30rpx 0 12rpx"
|
|
|
+ ></u-input>
|
|
|
+ </van-cell-group> -->
|
|
|
+ <!-- <div v-if="appointId == 0">
|
|
|
+ <van-cell-group inset prop="assistEnable" borderBottom style="padding: 40rpx 0 30rpx">
|
|
|
+ <div class="form-label flex_l">辅助上机</div>
|
|
|
+ <u-radio-group v-model="addForm.assistEnable" placement="row">
|
|
|
+ <u-radio style="margin-right: 20px" label="是" :name="true" :value="true"></u-radio>
|
|
|
+ <u-radio label="否" :name="false" :value="false"></u-radio>
|
|
|
+ </u-radio-group>
|
|
|
+ </van-cell-group>
|
|
|
+ <van-cell-group inset prop="remark" borderBottom style="padding: 40rpx 0 30rpx">
|
|
|
+ <div class="form-label flex_l">备注</div>
|
|
|
+ <spanarea placeholder="请输入备注" v-model="addForm.remark" clearable style="padding: 0 30rpx 0 12rpx"></spanarea>
|
|
|
+ </van-cell-group>
|
|
|
+ </div> -->
|
|
|
+ </van-form>
|
|
|
+ <!-- 自定义表单 -->
|
|
|
+ <CustomForm :formData="addForm.createForm" ref="customFormRef"></CustomForm>
|
|
|
+ <!-- END -->
|
|
|
+ </div>
|
|
|
+ <div class="save" v-if="appointId != 0" @click="handleDelayAdd" :class="!flag ? 'disabledBtn' : ''">提 交</div>
|
|
|
+ <div class="save" v-else @click="handleAdd" :class="!flag ? 'disabledBtn' : ''">提 交</div>
|
|
|
+ <!-- 选择服务 -->
|
|
|
+ <van-popup v-model:show="shwoService" position="bottom">
|
|
|
+ <van-picker :columns="serviceList" :columns-field-names="{ text: 'name', value: 'id' }" @confirm="pickService" @cancel="shwoService = false" />
|
|
|
+ </van-popup>
|
|
|
+ <!-- 选择课题 -->
|
|
|
+ <van-popup v-model:show="showProject" position="bottom">
|
|
|
+ <van-picker
|
|
|
+ :columns="projectList"
|
|
|
+ :columns-field-names="{ text: 'projectName', value: 'projectId' }"
|
|
|
+ @confirm="pickProject"
|
|
|
+ @cancel="showProject = false"
|
|
|
+ />
|
|
|
+ </van-popup>
|
|
|
+ <!-- 选择经费卡 -->
|
|
|
+ <u-picker :show="showExpenseCard" :columns="fundsList" keyName="finAccount" @cancel="showExpenseCard = false" @confirm="pickExpenseCard"></u-picker>
|
|
|
+ <!-- 选择预约人 -->
|
|
|
+ <u-picker :show="showAppointUser" :columns="userList" keyName="nickName" @cancel="showAppointUser = false" @confirm="pickAppointUser"></u-picker>
|
|
|
+ <u-notify ref="uNotify"></u-notify>
|
|
|
+ <u-toast ref="uToast"></u-toast>
|
|
|
+ </div>
|
|
|
+ </van-popup>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+ import { useProApi } from '/@/api/project/index'
|
|
|
+ import { useInstrApi } from '/@/api/instr'
|
|
|
+ import technicalApi from '/@/api/technical/index'
|
|
|
+ import { useUserApi } from '/@/api/system/user'
|
|
|
+ import instAppoint from '/@/api/instr/instAppoint'
|
|
|
+ import CustomForm from '/@/components/CustomForm'
|
|
|
+
|
|
|
+ const projApi = useProApi()
|
|
|
+ const instApi = useInstrApi()
|
|
|
+ const systemApi = useUserApi()
|
|
|
+ export default {
|
|
|
+ components: { CustomForm },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ appointId: 0,
|
|
|
+ isInstrHead: false,
|
|
|
+ flag: true,
|
|
|
+ showExpenseCard: false, //经费卡
|
|
|
+ fundsList: [], //经费卡列表
|
|
|
+ shwoService: false, //服务
|
|
|
+ serviceList: [], //列表
|
|
|
+ showProject: false, //课题
|
|
|
+ projectList: [], //列表
|
|
|
+ showAppointUser: false, //选择预约人
|
|
|
+ userList: [], //用户列表
|
|
|
+ InstCfgCharge: false,
|
|
|
+ isActiveService: false,
|
|
|
+ addForm: {
|
|
|
+ instId: 0,
|
|
|
+ startTime: '',
|
|
|
+ endTime: null,
|
|
|
+ projectName: null,
|
|
|
+ projectId: null,
|
|
|
+ serviceId: null,
|
|
|
+ serviceName: null,
|
|
|
+ expenseCardId: 0,
|
|
|
+ expenseCardName: '',
|
|
|
+ userContact: '',
|
|
|
+ userId: 0,
|
|
|
+ nickName: '',
|
|
|
+ projectType: '',
|
|
|
+ assistEnable: false,
|
|
|
+ createForm: [],
|
|
|
+ remark: ''
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ startTime: {
|
|
|
+ type: 'string',
|
|
|
+ required: true,
|
|
|
+ message: '请选择开始时间',
|
|
|
+ trigger: ['change']
|
|
|
+ },
|
|
|
+ endTime: [
|
|
|
+ {
|
|
|
+ type: 'string',
|
|
|
+ required: true,
|
|
|
+ message: '请选择结束时间',
|
|
|
+ trigger: ['change']
|
|
|
+ } // 正则判断为字母或数字
|
|
|
+ ],
|
|
|
+ projectType: {
|
|
|
+ type: 'string',
|
|
|
+ required: true,
|
|
|
+ message: '请选择课题或服务',
|
|
|
+ trigger: ['change']
|
|
|
+ }
|
|
|
+ // serviceId: {
|
|
|
+ // type: 'string',
|
|
|
+ // required: true,
|
|
|
+ // message: '请选择服务',
|
|
|
+ // trigger: ['change', 'blur'],
|
|
|
+ // },
|
|
|
+ // projectId: {
|
|
|
+ // type: 'string',
|
|
|
+ // required: true,
|
|
|
+ // message: '请选择课题',
|
|
|
+ // trigger: ['change', 'blur'],
|
|
|
+ // },
|
|
|
+ },
|
|
|
+ popupShow: false,
|
|
|
+ instDetail: {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ open(row, startTime, endTime, appointId) {
|
|
|
+ this.popupShow = true
|
|
|
+ //延长预约会传一个预约id 有预约id 获取预约详情
|
|
|
+ const activateService = JSON.parse(uni.getStorageSync('instr_is_activate_service') || '{}')
|
|
|
+ this.isActiveService = activateService == '10' ? true : false
|
|
|
+ this.addForm.instId = row.id * 1
|
|
|
+ this.addForm.startTime = startTime
|
|
|
+ this.addForm.endTime = endTime
|
|
|
+ this.addForm.projectType = 'project'
|
|
|
+ this.addForm.expenseCardId = null
|
|
|
+ this.addForm.expenseCardName = ''
|
|
|
+ const userInfo = uni.getStorageSync('userInfos')
|
|
|
+ this.addForm.userContact = userInfo.phone || ''
|
|
|
+ this.addForm.userId = userInfo.id || 0
|
|
|
+ this.addForm.nickName = userInfo.nickName || ''
|
|
|
+ if (appointId) {
|
|
|
+ this.appointId = appointId
|
|
|
+ this.getAppointDetails(row.id * 1)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.getChargeConfig()
|
|
|
+ this.getAppointConfig()
|
|
|
+ this.getMyProjectInfo()
|
|
|
+ this.getUserService()
|
|
|
+ this.getUserList()
|
|
|
+ this.getInstrDetails()
|
|
|
+ },
|
|
|
+ async getAppointDetails(instId) {
|
|
|
+ const [err, res] = await to(instApi.getDetail({ id: instId }))
|
|
|
+ if (err) return
|
|
|
+ if (res.code == 200) {
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 预约配置信息
|
|
|
+ async getAppointConfig() {
|
|
|
+ const params = {
|
|
|
+ instId: this.addForm.instId,
|
|
|
+ code: 'InstCfgAppoint'
|
|
|
+ }
|
|
|
+ const [err, res] = await to(instApi.getSettingDetail({ ...params }))
|
|
|
+ if (err) return
|
|
|
+ this.addForm.createForm = res?.data?.config.createForm ? JSON.parse(res.data.config.createForm) : []
|
|
|
+ console.log(this.addForm.createForm)
|
|
|
+ },
|
|
|
+ async getInstrDetails() {
|
|
|
+ const [err, res] = await to(instApi.getDetail({ id: this.addForm.instId }))
|
|
|
+ if (err) return
|
|
|
+ if (res?.code === 200) {
|
|
|
+ this.instDetail = res.data
|
|
|
+ const userInfo = uni.getStorageSync('userInfos')
|
|
|
+ this.isInstrHead = userInfo.id ? res.data.instHeadId.split(',').includes('' + userInfo?.id) : false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async getChargeConfig() {
|
|
|
+ const params = {
|
|
|
+ instId: this.addForm.instId,
|
|
|
+ code: 'InstCfgCharge'
|
|
|
+ }
|
|
|
+ const [err, res] = await to(instApi.getSettingDetail({ ...params }))
|
|
|
+ if (err) return
|
|
|
+ this.InstCfgCharge = res?.data.config.enable
|
|
|
+ },
|
|
|
+ // 获取用户相关的课题组
|
|
|
+ async getMyProjectInfo(id) {
|
|
|
+ let params = {}
|
|
|
+ if (id) {
|
|
|
+ params = { id }
|
|
|
+ } else {
|
|
|
+ params = {}
|
|
|
+ }
|
|
|
+ const [err, res] = await to(projApi.getMySelfProjectGroup(params))
|
|
|
+ if (err) return
|
|
|
+ // this.addForm.projectName = res?.data.pgName || ''
|
|
|
+ // this.addForm.projectId = res?.data.id || null
|
|
|
+ this.projectList = [{ projectName: res?.data.pgName || '', projectId: res?.data.id || null }]
|
|
|
+ if (this.addForm.projectType == 'project') {
|
|
|
+ this.addForm.projectId = res?.data.id || null
|
|
|
+ this.addForm.projectName = res?.data.pgName || ''
|
|
|
+ this.getFundsData()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取用户下的服务
|
|
|
+ async getUserService() {
|
|
|
+ const [err, res] = await to(technicalApi.getList({ noPage: true }))
|
|
|
+ if (err) return
|
|
|
+ this.serviceList = [res?.data.list]
|
|
|
+ if (this.addForm.projectType == 'service') {
|
|
|
+ this.addForm.serviceId = res?.data.list[0].id || 0
|
|
|
+ this.addForm.serviceName = res?.data.list[0].name || ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取用户列表
|
|
|
+ async getUserList() {
|
|
|
+ const [err, res] = await to(systemApi.getUserList({ noPage: true }))
|
|
|
+ if (err) return
|
|
|
+ this.userList = [res?.data.list]
|
|
|
+ },
|
|
|
+ // 选择课题还是服务
|
|
|
+ changeProjectType() {
|
|
|
+ this.addForm.serviceId = 0
|
|
|
+ this.addForm.serviceName = ''
|
|
|
+ this.addForm.projectId = 0
|
|
|
+ this.addForm.projectName = ''
|
|
|
+ this.addForm.expenseCardId = 0
|
|
|
+ this.addForm.expenseCardName = ''
|
|
|
+ this.fundsList = []
|
|
|
+ },
|
|
|
+ async getFundsData() {
|
|
|
+ const [err, res] = await to(projApi.getFinanceAccountList({ projId: this.addForm.projectId }))
|
|
|
+ if (err) return
|
|
|
+ this.fundsList = res?.data.list ? [res?.data.list] : []
|
|
|
+ if (this.fundsList && this.fundsList.length > 0 && this.fundsList[0].length > 0) {
|
|
|
+ this.addForm.expenseCardId = this.fundsList[0][0].id
|
|
|
+ this.addForm.expenseCardName = this.fundsList[0][0].finAccount
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 经费卡选择
|
|
|
+ pickExpenseCard(e) {
|
|
|
+ this.addForm.expenseCardId = e.value[0].id
|
|
|
+ this.addForm.expenseCardName = e.value[0].finAccount
|
|
|
+ this.showExpenseCard = false
|
|
|
+ },
|
|
|
+ // 选择预约人
|
|
|
+ openSelectUser() {
|
|
|
+ if (!this.isInstrHead) return
|
|
|
+ this.showAppointUser = true
|
|
|
+ },
|
|
|
+ // 预约人选择
|
|
|
+ pickAppointUser(e) {
|
|
|
+ this.addForm.nickName = e.value[0].nickName
|
|
|
+ this.addForm.userId = e.value[0].id
|
|
|
+ this.addForm.userContact = e.value[0].phone
|
|
|
+ this.showAppointUser = false
|
|
|
+ this.addForm.serviceId = 0
|
|
|
+ this.addForm.serviceName = ''
|
|
|
+ this.addForm.projectId = 0
|
|
|
+ this.addForm.projectName = ''
|
|
|
+ this.addForm.expenseCardId = 0
|
|
|
+ this.addForm.expenseCardName = ''
|
|
|
+ this.projectType = ''
|
|
|
+ this.fundsList = []
|
|
|
+ this.getMyProjectInfo(this.addForm.userId)
|
|
|
+ },
|
|
|
+ // 选择服务
|
|
|
+ pickService(selectedOptions) {
|
|
|
+ this.addForm.serviceId = selectedOptions[0].id
|
|
|
+ this.addForm.serviceName = selectedOptions[0].name
|
|
|
+ this.shwoService = false
|
|
|
+ },
|
|
|
+ // 选择课题
|
|
|
+ pickProject(selectedOptions) {
|
|
|
+ this.addForm.projectId = selectedOptions[0].projectId
|
|
|
+ this.addForm.projectName = selectedOptions[0].projectName
|
|
|
+ this.showProject = false
|
|
|
+ this.getFundsData()
|
|
|
+ },
|
|
|
+ async handleDelayAdd() {
|
|
|
+ if (!this.flag) return
|
|
|
+ this.flag = false
|
|
|
+ const params = {
|
|
|
+ id: this.appointId,
|
|
|
+ endTime: this.addForm.endTime
|
|
|
+ }
|
|
|
+ const [err, res] = await to(instAppoint.delayAdd(params))
|
|
|
+ this.flag = true
|
|
|
+ if (err) return
|
|
|
+ if (res && res.code == 200) {
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'success',
|
|
|
+ message: '预约延迟成功',
|
|
|
+ complete: () => {
|
|
|
+ uni.navigateBack({
|
|
|
+ url: `/pages/appointList/index?type=inProgress`
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleAdd() {
|
|
|
+ if (!this.flag) return
|
|
|
+ console.log(this.addForm)
|
|
|
+ this.$refs.addForm
|
|
|
+ .validate()
|
|
|
+ .then(async () => {
|
|
|
+ if (this.addForm.projectType == 'project' && !this.addForm.projectId) {
|
|
|
+ return this.$refs.uNotify.show({
|
|
|
+ type: 'warning',
|
|
|
+ message: '请选择课题',
|
|
|
+ duration: 1000 * 3
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (this.addForm.projectType == 'service' && !this.addForm.serviceId) {
|
|
|
+ return this.$refs.uNotify.show({
|
|
|
+ type: 'warning',
|
|
|
+ message: '请选择服务',
|
|
|
+ duration: 1000 * 3
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (this.addForm.projectType == 'project' && this.InstCfgCharge && !this.addForm.expenseCardId) {
|
|
|
+ this.$refs.uNotify.show({
|
|
|
+ type: 'warning',
|
|
|
+ message: '请选择经费卡',
|
|
|
+ duration: 1000 * 3
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const params = Object.assign({ ...this.addForm })
|
|
|
+ // 获取自定义表单数据
|
|
|
+ const formData = this.$refs.customFormRef.getFormData()
|
|
|
+ if (this.addForm.createForm.length > 0 && !formData) {
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ params.createForm = JSON.stringify(formData)
|
|
|
+ }
|
|
|
+ params.userName = params.nickName
|
|
|
+ this.flag = false
|
|
|
+ const [err, res] = await to(instAppoint.add(params))
|
|
|
+ this.flag = true
|
|
|
+ if (err) return
|
|
|
+ if (res && res.code == 200) {
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'success',
|
|
|
+ message: '创建成功',
|
|
|
+ complete: () => {
|
|
|
+ if (this.instDetail.appointJump && this.instDetail.appointJumpLink) {
|
|
|
+ uni.showModal({
|
|
|
+ title: '提示',
|
|
|
+ content:
|
|
|
+ '除了在当前系统预约,此仪器也必须在其他仪器共享平台进行预约,仪器在其他仪器共享平台编号为:' +
|
|
|
+ this.instDetail.assetNumber +
|
|
|
+ ',平台链接为' +
|
|
|
+ this.instDetail.appointJumpLink,
|
|
|
+ success(res) {
|
|
|
+ if (res.confirm) {
|
|
|
+ this.$emit('isSubmitted')
|
|
|
+ console.log('用户点击确定')
|
|
|
+ } else if (res.cancel) {
|
|
|
+ console.log('用户点击取消')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$emit('isSubmitted')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ this.$refs.uNotify.show({
|
|
|
+ type: 'warning',
|
|
|
+ message: err[0].message,
|
|
|
+ duration: 1000 * 3
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<style>
|
|
|
+ page {
|
|
|
+ background: #f2f3f5;
|
|
|
+ }
|
|
|
+</style>
|
|
|
+<style lang="scss" scoped>
|
|
|
+ .pupop-wrap {
|
|
|
+ width: 90vw;
|
|
|
+ height: 90vh;
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 10px;
|
|
|
+ padding: 15px;
|
|
|
+ }
|
|
|
+ .main {
|
|
|
+ width: 100%;
|
|
|
+ height: calc(100% - 88px);
|
|
|
+ background: #ffffff;
|
|
|
+ box-shadow: 0 6rpx 19rpx 2rpx rgba(0, 45, 132, 0.15);
|
|
|
+ border-radius: 31rpx 31rpx 0 0;
|
|
|
+ padding: 0 32rpx;
|
|
|
+ overflow: auto;
|
|
|
+ padding-bottom: 64rpx;
|
|
|
+
|
|
|
+ .form-label {
|
|
|
+ font-size: 32rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #323232;
|
|
|
+ padding-bottom: 18rpx;
|
|
|
+
|
|
|
+ .label-tag {
|
|
|
+ width: 15rpx;
|
|
|
+ height: 15rpx;
|
|
|
+ background: #ff4d4f;
|
|
|
+ border-radius: 50%;
|
|
|
+ margin-right: 10rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .save {
|
|
|
+ width: 569rpx;
|
|
|
+ height: 92rpx;
|
|
|
+ background: #3e7ef8;
|
|
|
+ border-radius: 31rpx;
|
|
|
+ margin: 10px auto 0;
|
|
|
+ font-size: 32rpx;
|
|
|
+ color: #ffffff;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 92rpx;
|
|
|
+ }
|
|
|
+</style>
|