code init

This commit is contained in:
chenxiaoxi
2021-05-25 18:06:45 +08:00
parent 02698d6dab
commit f54a8d4fa1
1367 changed files with 540755 additions and 21713 deletions
+298
View File
@@ -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>