hookehuyr

🐞 fix(签名模块): 处理签名七牛URL可能不生成问题

<!--
* @Date: 2023-03-29 17:44:24
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-03-30 11:04:24
* @LastEditTime: 2023-04-18 15:29:10
* @FilePath: /data-table/src/components/SignField/MyComponent.vue
* @Description: 文件描述
-->
......@@ -200,6 +200,8 @@ const cancelSign = () => {
// 此处传入的值会替代 Field 组件内部的 value
useCustomFieldValue(() => sign_value.value);
defineExpose({ handleReset });
</script>
<style lang="less" scoped>
......
<!--
* @Date: 2022-09-06 16:29:31
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-03-29 17:58:28
* @LastEditTime: 2023-04-18 15:34:06
* @FilePath: /data-table/src/components/SignField/index.vue
* @Description: 电子签名控件
-->
......@@ -13,13 +13,14 @@
</div>
<van-field :name="item.key" :rules="rules" style="padding: 0;">
<template #input>
<my-component />
<my-component ref="refComponent" />
</template>
</van-field>
</div>
</template>
<script setup>
import { showSuccessToast, showFailToast } from 'vant';
import MyComponent from './MyComponent.vue';
const props = defineProps({
......@@ -32,11 +33,17 @@ const HideShow = computed(() => {
return !props.item.component_props.disabled
})
const refComponent = ref(null)
// 规则校验
const required = props.item.component_props.required;
const validator = (val) => {
if (required && !val.url) {
return false;
} else if (!val.url) { // 处理生成URL可能为空情况
showFailToast('电子签名保存失败,请重新生成')
refComponent.value.handleReset();
return false;
} else {
return true;
}
......