code init
This commit is contained in:
@@ -0,0 +1,298 @@
|
||||
<!--生成企标编号组件-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer
|
||||
:visible.sync="visibleShow"
|
||||
:title="title"
|
||||
@close="close"
|
||||
size="500px"
|
||||
>
|
||||
<div class="demo-drawer-content">
|
||||
<el-form
|
||||
ref="generationNumberForm"
|
||||
:model="generationNumberForm"
|
||||
:rules="generationNumberFormRules"
|
||||
class="label-input-form"
|
||||
label-width="150px"
|
||||
>
|
||||
<el-form-item label="标准代号" prop="standCode" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
v-model="generationNumberForm.standCode"
|
||||
placeholder="请输入标准代号"
|
||||
disabled
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="标准属性" prop="standAttribute" class="add-form-item">
|
||||
<el-select
|
||||
filterable
|
||||
v-model="generationNumberForm.standAttribute"
|
||||
placeholder="请选择标准属性"
|
||||
@change="standAttributeChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in standAttributeOption"
|
||||
:label="item.qbCname"
|
||||
:value="item.qbCode"
|
||||
:key="item.qbCode + '-' + index"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="分类号" prop="classificationNumber" class="add-form-item">
|
||||
<el-input
|
||||
v-model="generationNumberForm.classificationNumber"
|
||||
placeholder="请选择分类号"
|
||||
clearable
|
||||
readonly
|
||||
@click.native="classClick"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="顺序号" prop="sequenceNumber" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
v-model="generationNumberForm.sequenceNumber"
|
||||
placeholder="请选择顺序号"
|
||||
disabled
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="年份" prop="year" class="add-form-item form-item-disabled">
|
||||
<el-datePicker
|
||||
v-model="generationNumberForm.year"
|
||||
:editable="false"
|
||||
type="year"
|
||||
disabled
|
||||
placeholder="选择年份">
|
||||
</el-datePicker>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本号" prop="versionNumber" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
v-model="generationNumberForm.versionNumber"
|
||||
placeholder="请输入版本号"
|
||||
disabled
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="demo-drawer-footer">
|
||||
<el-button round class="common-button-primary" icon="el-icon-check" type="primary" @click="isOk" :loading="submitLoading">确定</el-button>
|
||||
<el-button round class="common-button-default" icon="el-icon-close" @click="visibleShow = false">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
<!--分类号抽屉-->
|
||||
<el-drawer
|
||||
:visible.sync="isClassDrawer"
|
||||
title="分类号选择"
|
||||
size="350px">
|
||||
<laws-tree
|
||||
:zNodes="zNodes"
|
||||
deptSelect
|
||||
:loading="loading"
|
||||
treeDivId="depTreeInland"
|
||||
@treeDblClick="(treeId, treeNode) => treeDbClick(treeId, treeNode)"
|
||||
:editable="false"
|
||||
ref="depTreeInland"
|
||||
class="ztree" style="overflow: auto"
|
||||
>
|
||||
</laws-tree>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
// 显示状态
|
||||
isShow: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '选择企标'
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
visibleShow: false,
|
||||
// 生成编号form字段
|
||||
generationNumberForm: {
|
||||
standCode: 'SMTC', // 标准代号
|
||||
standAttribute: '', // 标准属性
|
||||
classificationNumber: '', // 分类号
|
||||
classificationNumberId: '', // 分类号ID
|
||||
sequenceNumber: '', // 顺序号
|
||||
year: this.$moment(new Date()).format('YYYY'), // 年份
|
||||
versionNumber: 'V1' // 版本号
|
||||
},
|
||||
// 生成编号form验证
|
||||
generationNumberFormRules: {
|
||||
standCode: [
|
||||
{required: true, message: '标准代号不能为空', trigger: 'change'}
|
||||
],
|
||||
standAttribute: [
|
||||
{required: true, message: '标准属性不能为空', trigger: 'change'}
|
||||
],
|
||||
classificationNumber: [
|
||||
{required: true, message: '分类号不能为空', trigger: 'change'}
|
||||
],
|
||||
// sequenceNumber: [
|
||||
// {required: true, message: '顺序号不能为空', trigger: 'change'}
|
||||
// ],
|
||||
year: [
|
||||
{required: true, message: '年份不能为空', trigger: 'change'}
|
||||
],
|
||||
versionNumber: [
|
||||
{required: true, message: '版本号不能为空', trigger: 'change'}
|
||||
]
|
||||
},
|
||||
zNodes: [], // 分类号
|
||||
// 标准属性字段数据
|
||||
standAttributeOption: [],
|
||||
isClassDrawer: false, // 分类号抽屉
|
||||
flag: '', // 1是自定义,2是SVPPS
|
||||
loading: false,
|
||||
submitLoading: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 关闭抽屉
|
||||
close () {
|
||||
this.visibleShow = false
|
||||
},
|
||||
// 抽屉确定事件
|
||||
isOk () {
|
||||
this.submitLoading = true
|
||||
this.$refs['generationNumberForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.getSeqNum().then(() => {
|
||||
let generationNumberForm = this.generationNumberForm
|
||||
// 拼接企标编号
|
||||
let verNum = generationNumberForm.versionNumber.replace(/[^0-9]/ig,"");
|
||||
let verEn= generationNumberForm.versionNumber.replace(/[^A-Z]+/ig,"");
|
||||
let standCode = generationNumberForm.standCode + ' ' + generationNumberForm.standAttribute + ' ' +
|
||||
generationNumberForm.classificationNumber + ' ' + generationNumberForm.sequenceNumber + '-' +
|
||||
this.$moment(generationNumberForm.year).format('YYYY') + '(' + generationNumberForm.versionNumber + ')'
|
||||
this.$emit('isOk', standCode, {
|
||||
standCode: standCode,
|
||||
qbCode: this.generationNumberForm.standAttribute, // 标准属性
|
||||
classCode: this.generationNumberForm.classificationNumberId // 分类号
|
||||
})
|
||||
this.visibleShow = false
|
||||
this.submitLoading = false
|
||||
})
|
||||
} else {
|
||||
this.submitLoading = false
|
||||
this.$message.warning('请检查表单是否填写正确')
|
||||
}
|
||||
})
|
||||
},
|
||||
// 选择分类号事件
|
||||
treeDbClick (treeId, treeNode) {
|
||||
if (this.flag === 1) {
|
||||
this.generationNumberForm.classificationNumber = treeNode.number.length > 2 ? treeNode.number :
|
||||
treeNode.number.length === 2 ? treeNode.number + '0' : treeNode.number + '00'
|
||||
this.generationNumberForm.classificationNumberId = treeNode.id
|
||||
} else {
|
||||
this.generationNumberForm.classificationNumber = treeNode.svppsCode.length > 2 ? treeNode.svppsCode :
|
||||
treeNode.svppsCode.length === 2 ? treeNode.svppsCode + '0' : treeNode.svppsCode + '00'
|
||||
this.generationNumberForm.classificationNumberId = treeNode.id
|
||||
}
|
||||
this.isClassDrawer = false
|
||||
},
|
||||
// 根据标准属性和分类号获取顺序号
|
||||
getSeqNum () {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$http.get('lawss/sarBussRecordsCode/createSeqNum', {
|
||||
qbcode: this.generationNumberForm.standAttribute, // 标准属性
|
||||
classCode: this.generationNumberForm.classificationNumberId // 分类号
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
this.generationNumberForm.sequenceNumber = res.data
|
||||
resolve()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
// 标准属性change事件,查询分类号
|
||||
standAttributeChange (val) {
|
||||
this.loading = true
|
||||
this.zNodes = []
|
||||
this.generationNumberForm.classificationNumber = ''
|
||||
this.$http.post('lawss/sarBussRecordsCode/queryByStandAttribute', {
|
||||
code: val
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
let treeNode = []
|
||||
// 1是自定义,2是SVPPS
|
||||
this.flag = res.data.flag
|
||||
if (res.data.flag === 1) {
|
||||
res.data.rowList.map((item, index) => {
|
||||
let treeItem = {
|
||||
name: item.number + ' ' + item.name,
|
||||
pId: item.pid,
|
||||
id: item.id,
|
||||
number: item.number,
|
||||
rootNum: item.rootNum,
|
||||
rank: item.rank
|
||||
}
|
||||
treeNode[index] = treeItem
|
||||
})
|
||||
} else {
|
||||
res.data.rowList.map((item, index) => {
|
||||
let treeItem = {
|
||||
name: item.svppsCode + ' ' + item.svppsCnName + ' ' + item.svppsEnName,
|
||||
pId: item.pid,
|
||||
id: item.id,
|
||||
svppsCode: item.svppsCode,
|
||||
snum: item.snum,
|
||||
fnum: item.fnum,
|
||||
tnum: item.tnum
|
||||
}
|
||||
treeNode[index] = treeItem
|
||||
})
|
||||
}
|
||||
this.zNodes = treeNode
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 分类号抽屉展示
|
||||
classClick () {
|
||||
if (this.generationNumberForm.standAttribute) {
|
||||
this.isClassDrawer = true
|
||||
} else {
|
||||
this.$message.warning('请先选择标准属性')
|
||||
}
|
||||
},
|
||||
// 查询标准属性数据
|
||||
getQueryAll () {
|
||||
this.$http.get('lawss/sarBussRecordsCode/queryAll', {}, {}, res => {
|
||||
if (res.ok) {
|
||||
this.standAttributeOption = res.data
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
isShow (val) {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.generationNumberForm.resetFields()
|
||||
})
|
||||
this.visibleShow = val
|
||||
},
|
||||
visibleShow (val) {
|
||||
this.$emit('update:isShow', val)
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getQueryAll()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user