| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- <template>
- <a-button type="primary" :disabled="disabled" @click="visible=true" style="margin-right:10px">新建</a-button>
- <a-drawer
- v-model:visible="visible"
- class="custom-class"
- title="新增固件"
- placement="right"
- width="500px"
- :closable="false"
- @close="visible = false"
- >
- <a-form ref="formRef" :model="form" size="small" layout="vertical" mode="multiple" :validateTrigger="['onChange']">
- <a-row :gutter="16">
- <a-col :span="24">
- <a-form-item label="固件名称" name="firmwarename" :rules="[{ required: true, message: '请输入固件名称' }]">
- <a-input v-model:value="form.firmwarename" placeholder="请输入固件名称"></a-input>
- </a-form-item>
- </a-col>
- <a-col :span="24">
- <a-form-item label="固件版本" name="version" :rules="[{ required: true, message: '请输入固件版本' },{validator:checkNumber}]">
- <a-input v-model:value="form.version" placeholder="请输入固件版本"></a-input>
- </a-form-item>
- </a-col>
- <a-col :span="24">
- <a-form-item label="所属产品" name="prodname" :rules="[{required:true,message:'请选择所属产品',validateTrigger:'onChange'}]">
- <!-- @handleList="handleList" -->
- <SelectModel
- ref="product"
- @selectRowData="selectProduct"
- rowKey="w_productid"
- :param="productParam"
- :filterMultiple="true"
- :columns="utils.TBLayout('productListTable').splice(0,utils.TBLayout('productListTable').length - 1)" title="选择所属产品"
- :custom="true"
- >
- <template #custom="{ data }">
- <div v-if="data.column.dataIndex == 'isused'">
- {{ data.record.isused ? '启用' : '停用' }}
- </div>
- <div v-else>
- {{ data.record[data.column.dataIndex] }}
- </div>
- </template>
- <template v-slot:slot1>
- <a-input-search
- v-model:value="form.prodname"
- enter-button="选择"
- readonly
- @search="$refs.product.modeVisible=true"
- />
- </template>
- </SelectModel>
- </a-form-item>
- </a-col>
- <a-col :span="24">
- <a-form-item label="描述" name="remarks">
- <a-textarea v-model:value="form.remarks" placeholder="请输入描述"></a-textarea>
- </a-form-item>
- </a-col>
- <a-col :span="24">
- <a-form-item label="附件" name="attinfos" :rules="[{required:true,message:'请选择附件',validateTrigger:'onChange'}]">
- <Upload2 :bindData="bindData" ref="upload" v-model:value="form.attinfos"></Upload2>
- </a-form-item>
- </a-col>
- </a-row>
- </a-form>
- <template #extra>
- <a-space>
- <a-button @click="visible=false">关闭</a-button>
- <a-button type="primary" @click="onSubmit" :loading="loading">保存</a-button>
- </a-space>
- </template>
- </a-drawer>
- </template>
- <script setup>
- import {ref, defineProps, defineEmits, onMounted} from 'vue'
- import SelectModel from '@/components/selectModel/index.vue'
- import Upload2 from '@/components/upload2/index2.vue'
- import Api from '@/api/api'
- import utils from '@/utils/utils'
- import { useBaseStore } from '@/stores/modules/base'
- import { storeToRefs } from 'pinia'
- import { log } from 'mathjs'
- import { useRouter } from "vue-router";
- const router = useRouter()
- let base = useBaseStore()
- let emit = defineEmits(['onSuccess'])
- let props = defineProps(['disabled'])
- let visible = ref(false)
- let form = ref({
- "w_firmwareid": 0,
- "version": "",
- "firmwarename": "",
- "w_productid": "",
- "remarks": "",
- "prodname":''
- })
- let productParam = ref({
- "id": 20230620133902,
- "content": {
- "pageNumber": 1,
- "pageSize": 20,
- "where": {
- "condition": "",
- "prodtype": "",
- "enterprisename": "",
- "isused": "" //0,1
- }
- },
- })
- let bindData = ref({})
- let upload = ref()
- let formRef = ref()
- let loading = ref(false)
- let checkNumber = async (rule,value) => {
- if (isNaN(+value)) {
- return Promise.reject('请输入数字类型')
- } else {
- return Promise.resolve()
- }
- }
- let onSubmit = async () => {
- form.value.attinfos = upload.value.fileList.length ? '1' : ''
- let isCheck = await formRef.value.validateFields()
- if (!isCheck) return
- let res = await Api.requested({
- id:20230619155302,
- content: form.value
- })
- bindData.value = {
- "ownertable": 'w_firmware',
- "ownerid": res.data.w_firmwareid,
- "usetype": 'default',
- }
- loading.value = true
- upload.value.toUpload(() => {
- console.log('触发1111');
- utils.message(res,'操作成功',() => {
- visible.value = false
- emit('onSuccess')
- bindData.value = {}
- upload.value.refresh()
- formRef.value.resetFields()
- loading.value = false
- })
- })
-
- }
- let selectProduct = (data) => {
- form.value.w_productid = data[data.length - 1].w_productid
- form.value.prodname = data[data.length - 1].prodname
- }
- </script>
- <style scoped>
- </style>
|