ÎļþÃû´Ó src/views/overlay-clue/components/QuestionDetail.vue ÐÞ¸Ä |
| | |
| | | destroy-on-close |
| | | > |
| | | <template #header> |
| | | <span> åé¦é®é¢</span> |
| | | <span> æ·»å é®é¢</span> |
| | | </template> |
| | | <el-form |
| | | label-width="90px" |
| | |
| | | :model="formObj" |
| | | ref="formRef" |
| | | > |
| | | <el-form-item label="é®é¢åç§°" prop="cqName"> |
| | | <el-input |
| | | v-model="formObj.cqName" |
| | | placeholder="请è¾å
¥é®é¢åç§°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é®é¢æè¿°" prop="cqDescription"> |
| | | <el-input |
| | | v-model="formObj.cqDescription" |
| | | type="textarea" |
| | | placeholder="请è¾å
¥è¯¦æ
" |
| | | placeholder="请è¾å
¥é®é¢æè¿°" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æå¨è¡é" prop="cqStreet"> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="详ç»å°å" prop="cqAddress"> |
| | | <el-input v-model="formObj.cqAddress"></el-input> |
| | | <el-input |
| | | v-model="formObj.cqAddress" |
| | | placeholder="请è¾å
¥å°åæè
éè¿âåæ æ¾åâèªå¨è·å¾" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åæ " prop="coordinate"> |
| | | <el-input |
| | |
| | | accept="image/png, image/jpeg" |
| | | :limit="3" |
| | | multiple |
| | | :on-preview="handleFilePreview" |
| | | :on-remove="handleFileRemove" |
| | | :on-change="handleFileChange" |
| | | > |
| | |
| | | > |
| | | </template> |
| | | </el-dialog> |
| | | <el-image-viewer |
| | | v-if="previewShow" |
| | | :url-list="urlList" |
| | | :initial-index="initialIndex" |
| | | :infinite="false" |
| | | @close="closePreview" |
| | | ></el-image-viewer> |
| | | <MapSearch |
| | | v-model:show="mapDialogShow" |
| | | @on-submit="selectAddress" |
| | |
| | | question: Object |
| | | }); |
| | | |
| | | const emit = defineEmits(['update:show', 'onSubmit'], ['onClose']); |
| | | const emit = defineEmits(['update:show', 'onSubmit', 'onClose']); |
| | | |
| | | // 䏿¥å¼¹åºæ¡ |
| | | const dialogShow = ref(false); |
| | | const mapDialogShow = ref(false); |
| | | const uploadRef = ref(); |
| | | const fileList = ref([]); |
| | | |
| | | const previewShow = ref(false); |
| | | const initialIndex = ref(0); |
| | | const urlList = computed(() => |
| | | fileList.value.map((value) => { |
| | | return value.url; |
| | | }) |
| | | ); |
| | | |
| | | function handleFilePreview(file) { |
| | | initialIndex.value = fileList.value.indexOf(file); |
| | | previewShow.value = true; |
| | | } |
| | | |
| | | function closePreview() { |
| | | previewShow.value = false; |
| | | } |
| | | |
| | | function handleFileRemove(file, fileList) { |
| | | formObj.value.files = fileList; |
| | |
| | | const loading = ref(false); |
| | | // è¡¨åæ£æ¥è§å |
| | | const rules = reactive({ |
| | | cqName: [ |
| | | { |
| | | required: true, |
| | | message: 'é®é¢åç§°ä¸è½ä¸ºç©º', |
| | | trigger: 'blur' |
| | | } |
| | | ], |
| | | cqDescription: [ |
| | | { |
| | | required: true, |
| | |
| | | const coor = formObj.value.coordinate.split(','); |
| | | const q = { |
| | | cId: parseInt(props.clueId), |
| | | cqName: formObj.value.cqName, |
| | | cqDescription: formObj.value.cqDescription, |
| | | cqStreet: formObj.value.cqStreet, |
| | | cqAddress: formObj.value.cqAddress, |
| | |
| | | url: f |
| | | }); |
| | | }); |
| | | return question; |
| | | return { ...question }; |
| | | } |
| | | |
| | | watch( |
| | | () => props.show, |
| | | () => [props.show, props.question], |
| | | (val) => { |
| | | dialogShow.value = val; |
| | | } |
| | | ); |
| | | watch( |
| | | () => props.question, |
| | | (val) => { |
| | | fileList.value = []; |
| | | if (val) { |
| | | formObj.value = parseFormObj(val); |
| | | } else { |
| | | formObj.value = {}; |
| | | dialogShow.value = val[0]; |
| | | if (val[0]) { |
| | | fileList.value = []; |
| | | if (val[1]) { |
| | | formObj.value = parseFormObj(val[1]); |
| | | } else { |
| | | formObj.value = {}; |
| | | } |
| | | } |
| | | } |
| | | ); |
| | | // watch( |
| | | // () => props.question, |
| | | // (val) => { |
| | | // fileList.value = []; |
| | | // if (val) { |
| | | // formObj.value = parseFormObj(val); |
| | | // } else { |
| | | // formObj.value = {}; |
| | | // } |
| | | // } |
| | | // ); |
| | | watch(dialogShow, (val) => { |
| | | emit('update:show', val); |
| | | }); |