|
|
|
@ -481,18 +481,18 @@ |
|
|
|
<!-- 流水号属性 --> |
|
|
|
<div v-else-if="element.type === 'serialNumber'" class="form-section"> |
|
|
|
<el-form label-position="top" size="small"> |
|
|
|
<!-- <div class="form-row"> |
|
|
|
<div class="form-row"> |
|
|
|
<el-form-item label="名称" class="form-item-half"> |
|
|
|
<el-input v-model="element.seqName" controls-position="right" size="mini"/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="主标签流水码" class="form-item-half"> |
|
|
|
<el-radio-group v-model="element.showMainSeq" size="mini"> |
|
|
|
<el-radio :label="true">是</el-radio> |
|
|
|
<el-radio :label="false">否</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
<el-form-item v-if="parentSerialElements.length>0" label="父标签流水号" class="form-item-half"> |
|
|
|
<el-select clearable v-model="element.parentSerialLabelNo" size="mini" style="width: 100%;" filterable > |
|
|
|
<el-option v-for="item in parentSerialElements" :key="item.label_no" :label="(item.seq_name?item.seq_name:'')+'('+item.data+')'" |
|
|
|
:value="item.label_no"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</div>--> |
|
|
|
<div class="form-row" v-if="!element.showMainSeq"> |
|
|
|
</div> |
|
|
|
<div class="form-row" v-if="!element.parentSerialLabelNo"> |
|
|
|
<el-form-item label="位数" class="form-item-half"> |
|
|
|
<el-input |
|
|
|
v-model="element.digits" |
|
|
|
@ -515,7 +515,7 @@ |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="form-row" v-if="!element.showMainSeq"> |
|
|
|
<div class="form-row" v-if="!element.parentSerialLabelNo"> |
|
|
|
<el-form-item label="字体大小" class="form-item-half"> |
|
|
|
<el-input |
|
|
|
v-model="element.fontSize" |
|
|
|
@ -530,7 +530,7 @@ |
|
|
|
<el-checkbox v-model="element.bold" size="middle"></el-checkbox> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
<div class="form-row" v-if="!element.showMainSeq"> |
|
|
|
<div class="form-row" v-if="!element.parentSerialLabelNo"> |
|
|
|
<el-form-item label="流水号规则" class="form-item-half"> |
|
|
|
<el-input v-model="element.data" placeholder="请输入流水号规则" @focus="$emit('data-source', element)"/> |
|
|
|
</el-form-item> |
|
|
|
@ -550,7 +550,7 @@ |
|
|
|
|
|
|
|
<script> |
|
|
|
import comShowLabelSerialInfo from "../com_show_label_serial_info"; |
|
|
|
import { availableFont } from '@/api/labelSetting/label_setting.js' |
|
|
|
import { availableFont,getParentLabelInfo ,getParentSerialElements} from '@/api/labelSetting/label_setting.js' |
|
|
|
|
|
|
|
export default { |
|
|
|
name: 'PropertyForm', |
|
|
|
@ -565,7 +565,8 @@ export default { |
|
|
|
return { |
|
|
|
availableFonts: [], |
|
|
|
fontLoading: false, |
|
|
|
fontsLoaded: false |
|
|
|
fontsLoaded: false, |
|
|
|
parentSerialElements: [] // 父标签的流水号元素列表 |
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
|
@ -573,9 +574,7 @@ export default { |
|
|
|
if (!this.availableFonts.length) { |
|
|
|
return [] |
|
|
|
} |
|
|
|
|
|
|
|
const groups = {} |
|
|
|
|
|
|
|
this.availableFonts.forEach(font => { |
|
|
|
const category = font.category || 'other' |
|
|
|
if (!groups[category]) { |
|
|
|
@ -609,6 +608,9 @@ export default { |
|
|
|
|
|
|
|
// 初始化字体设置 |
|
|
|
this.initializeFontSettings() |
|
|
|
if (this.element.type === 'serialNumber') { |
|
|
|
this.getParentLabelInfo() |
|
|
|
} |
|
|
|
}, |
|
|
|
watch: { |
|
|
|
// 监听元素变化,确保文件输入框状态正确 |
|
|
|
@ -619,9 +621,44 @@ export default { |
|
|
|
this.$refs.fileInput.value = '' |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
'element'() { |
|
|
|
// 当切换到不同元素时,获取父流水号 |
|
|
|
this.$nextTick(() => { |
|
|
|
if (this.element.type === 'serialNumber') { |
|
|
|
this.getParentLabelInfo() |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// 获取父标签信息 |
|
|
|
async getParentLabelInfo() { |
|
|
|
if (!this.element.reportId) return null |
|
|
|
try { |
|
|
|
// 使用API服务获取父标签信息 |
|
|
|
const response = await getParentLabelInfo({ labelNo: this.element.reportId }) |
|
|
|
if (response && response.data.code === 200) { |
|
|
|
const parentInfo = response.data.data |
|
|
|
if (parentInfo && parentInfo.parentLabelNo) { |
|
|
|
const response2 = await getParentSerialElements({ labelNo: parentInfo.parentLabelNo }) |
|
|
|
if (response2.data && response2.data.code === 200) { |
|
|
|
this.parentSerialElements = response2.data.data || [] |
|
|
|
} else { |
|
|
|
// 如果API调用失败,使用默认数据 |
|
|
|
this.parentSerialElements = [] |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 如果API调用失败,使用默认数据 |
|
|
|
this.parentSerialElements = [] |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
console.error('获取父标签信息失败:', error) |
|
|
|
this.parentSerialElements = [] |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
onDataTypeChange(newType) { |
|
|
|
// 重置相关设置 |
|
|
|
if (newType === 'date') { |
|
|
|
|