[update] 调年度制修订计划两个流程

This commit is contained in:
lideqin
2023-10-24 17:59:40 +08:00
parent 4e1d090c78
commit 9ab2eb4c24
17 changed files with 711 additions and 159 deletions
+33 -9
View File
@@ -29,13 +29,29 @@ const getEnStandardNo = (params) => postAction('/process/es/initChange/getStanda
// 根据流程id获取流程信息
const getProcessDataById = (params) => getAction('/process/center/handle', params)
// 年度制修订计划(各部门主动上报)
// 发起
const activelyReportApproval = (params) => postAction('/process/es/annualReport/start', params)
// 保存
const activelyReportSave = (params) => postAction('', params)
// 转办
const activelyReportTurnTo = (params) => postAction('', params)
// 同意
const activelyReportAgree = (params) => postAction('', params)
// 拒绝
const activelyReportReject = (params) => postAction('', params)
// 年度制修订计划(标准化发起)
// 批量设置联络人
const standardizationInitBatchSetContact = (params) => getAction('', params)
// 批量设置审批人
const standardizationInitBatchSetApprover = (params) => getAction('', params)
// 批量设置主起草人
const standardizationInitBatchSetDrafter = (params) => getAction('', params)
// 发起
const standardizationInitApproval = (params) => postAction('', params)
// 保存
const standardizationInitSave = (params) => postAction('', params)
// 转办
const standardizationInitTurnTo = (params) => postAction('', params)
// 同意
const standardizationInitAgree = (params) => postAction('', params)
// 拒绝
const standardizationInitReject = (params) => postAction('', params)
// 流程中心
// 待办-转办
@@ -58,9 +74,17 @@ export {
getEnStandardNo,
getProcessDataById,
standardizationInitBatchSetContact,
standardizationInitBatchSetApprover,
standardizationInitBatchSetDrafter,
activelyReportApproval,
activelyReportSave,
activelyReportTurnTo,
activelyReportAgree,
activelyReportReject,
standardizationInitApproval,
standardizationInitSave,
standardizationInitTurnTo,
standardizationInitAgree,
standardizationInitReject,
toDoTurnTo,
compulsoryWithdrawal
+4 -1
View File
@@ -99,7 +99,10 @@ module.exports = {
batchSetApprover: '批量设置审批人',
approver: '审批人',
batchSetDrafter: '批量设置主起草人',
drafter: '主起草人'
drafter: '主起草人',
pleaseSelectContact: '请选择联络人',
pleaseSelectApprover: '请选择审批人',
pleaseSelectDrafter: '请选择主起草人'
},
// 企标制修订流程
enStandardRevision: {
+4 -1
View File
@@ -99,7 +99,10 @@ module.exports = {
batchSetApprover: '批量设置审批人',
approver: '审批人',
batchSetDrafter: '批量设置主起草人',
drafter: '主起草人'
drafter: '主起草人',
pleaseSelectContact: '请选择联络人',
pleaseSelectApprover: '请选择审批人',
pleaseSelectDrafter: '请选择主起草人'
},
// 企标制修订流程
enStandardRevision: {
+1 -1
View File
@@ -307,8 +307,8 @@ export default {
this.$message.warning(this.$t('docTool.split.pleaseSelectUser'))
return
}
this.$emit('change', this.selectedRowKeys.join(','))
this.$emit('nameChange', this.dataSourceRight.map(item => item.realname + '(' + item.username + ')').join(','))
this.$emit('change', this.selectedRowKeys.join(','))
this.close()
},
handleCancel () {
@@ -14,7 +14,7 @@
</div>
</template>
<!-- 基础信息 -->
<div v-if="switchValue === 'base'" class="detail-page-scroll-content">
<div v-show="switchValue === 'base'" class="detail-page-scroll-content">
<!-- 流程信息 -->
<div class="process-part-title">{{ $t('processInformation') }}</div>
<a-form :form="processInfoForm">
@@ -24,7 +24,7 @@
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('processName')">
<a-input :placeholder="$t('pleaseEnter') + $t('processName')"
@change="event => event.target.value = event.target.value.trim()"
:disabled="disabled"
:disabled="disabled || processInfoDisabled"
:maxLength="50"
v-decorator="['processName', validatorRules.processName]" />
</a-form-item>
@@ -34,7 +34,7 @@
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('expirationDate')">
<a-date-picker :placeholder="$t('pleaseSelect') + $t('expirationDate')"
style="width: 100%"
:disabled="disabled"
:disabled="disabled || processInfoDisabled"
value-format="YYYY-MM-DD"
v-decorator="['expirationDate']" />
</a-form-item>
@@ -45,7 +45,7 @@
<a-textarea :placeholder="$t('pleaseEnter') + $t('processExplain')"
:maxLength="500"
:rows="4"
:disabled="disabled"
:disabled="disabled || processInfoDisabled"
v-decorator="['processExplain']" />
</a-form-item>
</a-col>
@@ -65,19 +65,19 @@
<!-- 业务基本信息 -->
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
<!-- 节点1标准工程师发起的基本信息表单 -->
<engineer-init-form v-if="currentNode === 1" ref="basicInfoFormRef"></engineer-init-form>
<engineer-init-form v-if="currentNode === 1" ref="baseInfoFormRef"></engineer-init-form>
<!-- 节点2各部所联络人填写/下发任务 -->
<contact-enter-send-task-form v-if="currentNode === 2" ref="basicInfoFormRef"></contact-enter-send-task-form>
<contact-enter-send-task-form v-else-if="currentNode === 2" ref="baseInfoFormRef"></contact-enter-send-task-form>
<!-- 节点3工作组所联络人填写企标-->
<contact-enter-standard-form v-if="currentNode === 3" ref="basicInfoFormRef"></contact-enter-standard-form>
<contact-enter-standard-form v-else-if="currentNode === 3" ref="baseInfoFormRef"></contact-enter-standard-form>
<!-- 节点4收集联络人主管级领导审批 只有表格,不能操作 -->
<only-table-form v-if="currentNode === 4" disabled ref="basicInfoFormRef"></only-table-form>
<only-table-form v-else-if="currentNode === 4" disabled ref="baseInfoFormRef"></only-table-form>
<!-- 节点5各部所联络人汇总 只有表格可操作 -->
<only-table-form v-if="currentNode === 5" ref="basicInfoFormRef"></only-table-form>
<only-table-form v-else-if="currentNode === 5" ref="baseInfoFormRef"></only-table-form>
<!-- 节点6联络人主管级上一级领导审批 表格不可操作可以查看详情 -->
<only-table-form v-if="currentNode === 6" onlyCanLook ref="basicInfoFormRef"></only-table-form>
<only-table-form v-else-if="currentNode === 6" onlyCanLook ref="baseInfoFormRef"></only-table-form>
<!-- 节点7标准化工程师归档 表格不可新增可以编辑和查看详情 -->
<only-table-form v-if="currentNode === 7" disabled ref="basicInfoFormRef"></only-table-form>
<only-table-form v-else-if="currentNode === 7" disabled ref="baseInfoFormRef"></only-table-form>
<!-- 流程审批信息 -->
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
@@ -97,9 +97,9 @@
</div>
<!-- 人员信息 -->
<div v-if="switchValue === 'user'" class="detail-page-scroll-content p-0">
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :url="url">
<personnel-info slot="personnelInfo" :data="personnelInfoData" :currentNode="currentNode"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNode + ''"></personnel-info>
</process-detail-list>
</div>
@@ -151,6 +151,13 @@ import ProcessDetailList from '../../../components/ProcessDetailList'
import ContactEnterStandardForm from './modules/ContactEnterStandardForm'
import OnlyTableForm from './modules/OnlyTableForm'
import UserSelectModal from '@/components/selection/UserSelectModal'
import {
activelyReportApproval,
activelyReportSave,
activelyReportTurnTo,
activelyReportAgree,
activelyReportReject
} from '@/api/workCenter'
const personData = [
{
@@ -217,6 +224,10 @@ export default {
computed: {
pageTitle () {
return this.$t('flowCenter') + this.$route.meta.title
},
// 流程信息不能编辑
processInfoDisabled () {
return this.currentNode !== 1
}
},
mounted () {
@@ -278,7 +289,7 @@ export default {
validateTrigger: 'blur'
}
},
currentNode: 3,
currentNode: 1,
approvalInfoForm: this.$form.createForm(this), // 审批信息表单
personnelInfoData: [], // 人员信息数据
url: {
@@ -295,15 +306,6 @@ export default {
// 有任意一项填了即可
// 流程信息表单
const processInfoForm = this.processInfoForm.getFieldsValue()
// 业务基本信息
let ruleForm = {}
if ([1, 2, 3].includes(this.currentNode)) {
// 业务基本信息中有表单
ruleForm = this.$refs.basicInfoFormRef.formInline
}
if ([2, 3, 5].includes(this.currentNode)) {
// 业务基础信息中有可编辑表格 todo: 看后端要什么格式
}
// 流程审批信息
const approvalInfoForm = this.approvalInfoForm.getFieldsValue()
// 人员信息的数据, 处理成对象
@@ -315,12 +317,20 @@ export default {
}
}
// 需要传给后端的
let param = {}
// 业务基本信息
if (this.$refs.basicInfoFormRef) {
if (this.$refs.baseInfoFormRef) {
// 业务基本信息
let ruleForm = this.$refs.baseInfoFormRef.getData()
if ([1, 2, 3].includes(this.currentNode)) {
// 业务基本信息中有表单
}
if ([2, 3, 5].includes(this.currentNode)) {
// 业务基础信息中有可编辑表格 todo: 看后端要什么格式
}
} else {
// 需要外层信息至少填了一项
const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm, ...personnelObj }
param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
@@ -328,14 +338,17 @@ export default {
return
}
}
this.loading = true
// 保存到草稿
// enterprisePlanApprovalSave(arr).then(res => {
// if (res.success) {
// this.$message.success(res.message)
// } else {
// this.$message.warning(res.message)
// }
// })
activelyReportSave(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
// 节点一时候的提交,发起变更
handleStart () {
@@ -353,9 +366,26 @@ export default {
this.$message.warning(this.$t('pleaseEnterPersonnelInfo'))
return
}
// 流程信息校验
this.processInfoForm.validateFields((err, values) => {
// 流程审批信息校验
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
// 需要校验业务基本信息中的表单
this.$refs.baseInfoFormRef.getDataValidate(data => {
if (!err && !approvalErr && data) {
this.loading = true
const param = {} // 需要给后端的参数
activelyReportApproval(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
})
})
},
@@ -373,29 +403,70 @@ export default {
const param = Object.assign({}, values)
param.userId = userIds
param.taskId = this.$route.query.taskId
// enterprisePlanApprovalTurnTo(param).then(res => {
// if (res.success) {
// this.$message.success(res.message)
// } else {
// this.$message.warning(res.message)
// }
// }).finally(() => {
// this.loading = false
// })
activelyReportTurnTo(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
},
// 提交
// 提交(节点235有提交)
handleSubmit () {
if (this.loading) return
// 流程审批信息校验
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
this.$refs.baseInfoFormRef.getDataValidate(data => {
if (approvalErr && data) {
// 节点2,3有表单和表格,节点4只有表格
// param =
}
})
})
},
// 同意
// 同意(节点46有同意)
handleAgree () {
if (this.loading) return
this.approvalInfoForm.validateFields((err, values) => {
if (!err) {
this.loading = true
const param = Object.assign({}, values)
param.taskId = this.$route.query.taskId
activelyReportAgree(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
},
// 驳回
// 驳回(节点46有驳回)
handleReject () {
if (this.loading) return
this.approvalInfoForm.validateFields((err, values) => {
if (!err) {
this.loading = true
const param = Object.assign({}, values)
param.taskId = this.$route.query.taskId
activelyReportReject(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
}
}
}
@@ -120,13 +120,53 @@ export default {
}
]
},
modalType: '' // 是在新增还是在编辑,编辑的时候放正在编辑的下标
modalType: '', // 是在新增还是在编辑,编辑的时候放正在编辑的下标
data: undefined
}
},
methods: {
// 选择用户得到用户名
userSelectNameChange (value, fieldName) {
this.formInline[fieldName + '_dictText'] = value
},
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
this.data = data
// 给表单赋值
// this.formInline =
// 给表格赋值
// this.$nextTick(() => {
// this.$refs.tableRef.dataSource =
// })
},
// 外层要获取数据
getData () {
// 把数据抛出
const data = {}
data.formInline = this.formInline
data.dataSource = this.$refs.tableRef.dataSource
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate (callback) {
// 可能是表单,也可能是表格,表单校验一定要填,有是否下发联络人
this.$refs.ruleForm.validate(result => {
if (result) {
if (this.$refs.tableRef.dataSource && this.$refs.tableRef.dataSource.length > 0) {
const data = {}
data.formInline = this.formInline
data.dataSource = this.$refs.tableRef.dataSource
callback(data)
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
const data = false
callback(data)
}
} else {
const data = false
callback(data)
}
})
}
}
}
@@ -25,8 +25,9 @@
<a-form-model-item class="item-model" prop="applicationType">
<a-select v-model="formInline.applicationType"
:disabled="disabled"
:defaultValue="ApplicationCategory.INITIATION.value"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.applicationType')">
<a-select-option :value="1">{{ $t('workCenter.enterpriseInitChangePlan.standardProjectEstablishment') }}</a-select-option>
<a-select-option :value="ApplicationCategory.INITIATION.value">{{ $t('workCenter.enterpriseInitChangePlan.standardProjectEstablishment') }}</a-select-option>
</a-select>
</a-form-model-item>
</div>
@@ -494,6 +495,21 @@
type="radio" />
</a-form-model-item>
</div>
<!-- 配合单位 -->
<div class="box-title-text form-flex-item-half">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.suitUnit')">
{{ $t('workCenter.enterpriseInitChangePlan.suitUnit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="cooperationUnit">
<j-select-depart v-model="formInline.cooperationUnit"
:disabled="disabled"
@back="cooperationUnitBack"
:backDepart="true" />
</a-form-model-item>
</div>
</div>
</a-form-model>
</a-spin>
@@ -509,7 +525,7 @@
</template>
<script>
import { StandardSource, ProjectType } from '@/enums/commonEnums'
import { StandardSource, ProjectType, ApplicationCategory } from '@/enums/commonEnums'
import { getWorkGroupTreeList, getFormDictTreeList } from '@/api/api'
import UserSelection from '@/components/selection/UserSelection'
import StandardSelection from '@/components/selection/StandardSelection'
@@ -526,6 +542,7 @@ export default {
return {
StandardSource,
ProjectType,
ApplicationCategory,
workingGroupTreeList: [], // 隶属工作组下拉框数据
partNameOptions: [], // 零部件名称下拉框数据
standardSystemOptions: [], // 企标体系下拉框数据
@@ -765,7 +782,12 @@ export default {
this.visible = true
this.model = Object.assign({}, record)
this.formInline = Object.assign({}, record)
this.formInline.workGroup = { value: this.formInline.workGroup, label: this.formInline.workGroup_dictText }
if (this.formInline.workGroup) {
this.formInline.workGroup = { value: this.formInline.workGroup, label: this.formInline.workGroup_dictText }
}
if (!this.formInline.applicationType) {
this.formInline.applicationType = this.ApplicationCategory.INITIATION.value
}
},
look (record) {
this.visible = true
@@ -850,6 +872,10 @@ export default {
mainDraftingUnitBack (value) {
this.formInline.mainDraftingUnit_dictText = value.map(item => item.text).join(',')
},
// 配合单位返回参数
cooperationUnitBack (value) {
this.formInline.cooperationUnit_dictText = value.map(item => item.text).join(',')
},
// 标准选择组件返回标准名称的回调
nameChange (value) {
this.formInline.originEnStandardName = value
@@ -899,7 +925,7 @@ export default {
const formInline = JSON.parse(JSON.stringify(this.formInline))
if (formInline.projectType) {
// 翻译项目类别
formInline.projectType_dictText = formInline.projectType === 1 ? ProjectType.ENACT.text : ProjectType.MODIFY.text
formInline.projectType_dictText = formInline.projectType === ProjectType.ENACT.value ? ProjectType.ENACT.text : ProjectType.MODIFY.text
// 设置变更状态
if (formInline.projectType === 1) {
// 是制定,变更状态是新增
@@ -918,7 +944,6 @@ export default {
if (formInline.enStandardCode) {
formInline.enStandardCode_dictText = this.$refs.enStandardCodeRef.dictOptions.find(item => item.value === formInline.enStandardCode).text
}
// 配合单位弹框中没有该字段,是否要加??
// 主起草单位的回显需要在登录信息中有当前登录人部门的翻译 ??
console.log(formInline)
this.$emit('ok', formInline)
@@ -63,13 +63,53 @@ export default {
}
]
},
modalType: '' // 是在新增还是在编辑,编辑的时候放正在编辑的下标
modalType: '', // 是在新增还是在编辑,编辑的时候放正在编辑的下标
data: undefined
}
},
methods: {
// 选择用户得到用户名
userSelectNameChange (value, fieldName) {
this.formInline[fieldName + '_dictText'] = value
},
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
this.data = data
// 给表单赋值
// this.formInline =
// 给表格赋值
// this.$nextTick(() => {
// this.$refs.tableRef.dataSource =
// })
},
// 外层要获取数据
getData () {
// 把数据抛出
const data = {}
data.formInline = this.formInline
data.dataSource = this.$refs.tableRef.dataSource
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate (callback) {
// 可能是表单,也可能是表格,表单校验一定要填,有是否下发联络人
this.$refs.ruleForm.validate(result => {
if (result) {
if (this.$refs.tableRef.dataSource && this.$refs.tableRef.dataSource.length > 0) {
const data = {}
data.formInline = this.formInline
data.dataSource = this.$refs.tableRef.dataSource
callback(data)
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
const data = false
callback(data)
}
} else {
const data = false
callback(data)
}
})
}
}
}
@@ -36,15 +36,44 @@ export default {
return {
formInline: {},
rules: {
// 企标编号
enterpriseStandardNum: [
// 制修订计划说明
revisionPlanDesc: [
{
required: true,
message: this.$t('workCenter.revisionPlanActivelyReport.revisionPlanDesc') + this.$t('cannotEmpty'),
trigger: 'blur'
}
]
}
},
data: undefined
}
},
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
this.data = data
// 给表单赋值
// this.formInline =
},
// 外层要获取数据
getData () {
// 把数据抛出
const data = {}
data.formInline = this.formInline
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate (callback) {
this.$refs.ruleForm.validate(valid => {
if (valid) {
const data = {}
data.formInline = this.formInline
callback(data)
} else {
const data = false
callback(data)
}
})
}
}
}
@@ -25,7 +25,7 @@
:can-drag="true"
:scroll="{x: '100%'}"
ref="table"
rowKey="enterpriseStandardPlanId"
:rowKey="(record, index) => { return index }"
:columns="columns"
:dataSource="dataSource"
:pagination="false"
@@ -392,7 +392,7 @@ export default {
},
// 编辑
handleEdit (record, index) {
this.modalType = 'edit' + index
this.modalType = 'edit' + ',' + index
this.$refs.contactEnterSendTaskModal.edit(record)
},
// 查看
@@ -405,7 +405,11 @@ export default {
},
// 批量删除
batchDel () {
this.dataSource = this.dataSource.filter(item => !this.selectedRowKeys.includes(item.enterpriseStandardPlanId))
for (let i = 0; i < this.selectedRowKeys.length; i++) {
this.dataSource.splice(this.selectedRowKeys[i], 1, false)
}
this.dataSource = this.dataSource.filter(item => !!item)
this.selectedRowKeys = []
}
}
}
@@ -24,7 +24,7 @@
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('processName')">
<a-input :placeholder="$t('pleaseEnter') + $t('processName')"
@change="event => event.target.value = event.target.value.trim()"
:disabled="disabled"
:disabled="disabled || processInfoDisabled"
:maxLength="50"
v-decorator="['processName', validatorRules.processName]" />
</a-form-item>
@@ -34,7 +34,7 @@
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('expirationDate')">
<a-date-picker :placeholder="$t('pleaseSelect') + $t('expirationDate')"
style="width: 100%"
:disabled="disabled"
:disabled="disabled || processInfoDisabled"
value-format="YYYY-MM-DD"
v-decorator="['expirationDate']" />
</a-form-item>
@@ -45,7 +45,7 @@
<a-textarea :placeholder="$t('pleaseEnter') + $t('processExplain')"
:maxLength="500"
:rows="4"
:disabled="disabled"
:disabled="disabled || processInfoDisabled"
v-decorator="['processExplain']" />
</a-form-item>
</a-col>
@@ -138,6 +138,13 @@ import EngineerInitBaseInfo from './modules/EngineerInitBaseInfo'
import ContactSelectApproverBaseInfo from './modules/ContactSelectApproverBaseInfo'
import LeaderApproveSentBaseInfo from './modules/LeaderApproveSentBaseInfo'
import TableBaseInfo from './modules/TableBaseInfo'
import {
standardizationInitApproval,
standardizationInitSave,
standardizationInitTurnTo,
standardizationInitAgree,
standardizationInitReject
} from '@/api/workCenter'
const personData = [
{
@@ -199,6 +206,10 @@ export default {
computed: {
pageTitle () {
return this.$t('flowCenter') + this.$route.meta.title
},
// 流程信息不能编辑
processInfoDisabled () {
return this.currentNode !== 1
}
},
mounted () {
@@ -277,9 +288,6 @@ export default {
// 有任意一项填了即可
// 流程信息表单
const processInfoForm = this.processInfoForm.getFieldsValue()
// 业务基本信息
let ruleForm = {}
// 流程审批信息
const approvalInfoForm = this.approvalInfoForm.getFieldsValue()
// 人员信息的数据, 处理成对象
@@ -291,12 +299,15 @@ export default {
}
}
// 需要传给后端的
let param = {}
// 业务基本信息
if (this.$refs.basicInfoFormRef) {
let ruleForm = this.$refs.baseInfoRef.getData()
// 该流程中业务基本信息只有表格
// ruleForm.dataSource
} else {
// 需要外层信息至少填了一项
const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm, ...personnelObj }
param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
@@ -304,14 +315,17 @@ export default {
return
}
}
this.loading = true
// 保存到草稿
// enterprisePlanApprovalSave(arr).then(res => {
// if (res.success) {
// this.$message.success(res.message)
// } else {
// this.$message.warning(res.message)
// }
// })
standardizationInitSave(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
// 节点一时候的提交,发起变更
handleStart () {
@@ -331,7 +345,20 @@ export default {
}
this.processInfoForm.validateFields((err, values) => {
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
this.$refs.baseInfoRef.getDataValidate((data) => {
if (!err && !approvalErr && data) {
const param = {} // 传给后端的数据
standardizationInitApproval(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
})
})
},
@@ -349,29 +376,70 @@ export default {
const param = Object.assign({}, values)
param.userId = userIds
param.taskId = this.$route.query.taskId
// enterprisePlanApprovalTurnTo(param).then(res => {
// if (res.success) {
// this.$message.success(res.message)
// } else {
// this.$message.warning(res.message)
// }
// }).finally(() => {
// this.loading = false
// })
standardizationInitTurnTo(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
},
// 提交
// 提交(节点457有提交)
handleSubmit () {
if (this.loading) return
// 流程审批信息校验
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
this.$refs.baseInfoFormRef.getDataValidate(data => {
if (approvalErr && data) {
// 只有表格
// param =
}
})
})
},
// 同意
// 同意(节点236有同意)
handleAgree () {
if (this.loading) return
this.approvalInfoForm.validateFields((err, values) => {
if (!err) {
this.loading = true
const param = Object.assign({}, values)
param.taskId = this.$route.query.taskId
standardizationInitAgree(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
},
// 驳回
// 驳回(节点236有驳回)
handleReject () {
if (this.loading) return
this.approvalInfoForm.validateFields((err, values) => {
if (!err) {
this.loading = true
const param = Object.assign({}, values)
param.taskId = this.$route.query.taskId
standardizationInitReject(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
}
})
}
}
}
@@ -25,8 +25,9 @@
<a-form-model-item class="item-model" prop="applicationType">
<a-select v-model="formInline.applicationType"
:disabled="disabled"
defaultValue="ApplicationCategory.INITIATION.value"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.applicationType')">
<a-select-option :value="1">{{ $t('workCenter.enterpriseInitChangePlan.standardProjectEstablishment') }}</a-select-option>
<a-select-option :value="ApplicationCategory.INITIATION.value">{{ $t('workCenter.enterpriseInitChangePlan.standardProjectEstablishment') }}</a-select-option>
</a-select>
</a-form-model-item>
</div>
@@ -43,13 +44,13 @@
@change="projectTypeChange"
:disabled="disabled"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.itemCategory')">
<a-select-option :value="1">{{ $t('workCenter.enterpriseInitChangePlan.formulate') }}</a-select-option>
<a-select-option :value="2">{{ $t('workCenter.enterpriseInitChangePlan.revise') }}</a-select-option>
<a-select-option :value="ProjectType.ENACT.value">{{ $t('workCenter.enterpriseInitChangePlan.formulate') }}</a-select-option>
<a-select-option :value="ProjectType.MODIFY.value">{{ $t('workCenter.enterpriseInitChangePlan.revise') }}</a-select-option>
</a-select>
</a-form-model-item>
</div>
<!-- 标准立项-制定 -->
<template v-if="formInline.projectType && formInline.projectType === 1">
<template v-if="formInline.projectType && formInline.projectType === ProjectType.ENACT.value">
<!-- 企标编号 -->
<div class="box-title-text form-flex-item-half">
<div class="title-text">
@@ -92,6 +93,7 @@
</div>
<a-form-model-item class="item-model" prop="enStandardCode">
<j-dict-select-tag class="box-input"
ref="enStandardCodeRef"
v-model="formInline.enStandardCode"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.enterpriseStandardCode')"
:type="'select'"
@@ -150,12 +152,13 @@
:default-value="yearNumberDefaultValue"
date-format="YYYY"
:disabled="disabled"
@change="decadeCodeChange"
:placeholder="$t('pleaseSelect')+$t('workCenter.enterpriseInitChangePlan.yearNumber')" />
</a-form-model-item>
</div>
</template>
<!-- 标准立项-修订 -->
<template v-else-if="formInline.projectType && formInline.projectType === 2">
<template v-else-if="formInline.projectType && formInline.projectType === ProjectType.MODIFY.value">
<!-- 企标编号 原企标编号 -->
<div class="box-title-text form-flex-item-half">
<div class="title-text">
@@ -172,7 +175,7 @@
@nameChange="nameChange"/>
</a-form-model-item>
</div>
<!-- 新企标编号 根据选的企标编号的那三个代号生成新的编号 -->
<!-- 新企标编号 审批结束后才回显 -->
<!--<div class="box-title-text form-flex-item-half">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.newEnterpriseStandardNum')">-->
@@ -396,6 +399,7 @@
<a-form-model-item class="item-model" prop="authDept">
<j-select-depart v-model="formInline.authDept"
:disabled="disabled"
@back="authDeptBack"
:backDepart="true" />
</a-form-model-item>
</div>
@@ -428,6 +432,7 @@
<a-form-model-item class="item-model" prop="mainDraftingUnit">
<j-select-depart v-model="formInline.mainDraftingUnit"
:disabled="disabled"
@back="mainDraftingUnitBack"
:backDepart="true" />
</a-form-model-item>
</div>
@@ -467,6 +472,21 @@
type="radio" />
</a-form-model-item>
</div>
<!-- 配合单位 -->
<div class="box-title-text form-flex-item-half">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.suitUnit')">
{{ $t('workCenter.enterpriseInitChangePlan.suitUnit') }}
</span>
</div>
<a-form-model-item class="item-model" prop="cooperationUnit">
<j-select-depart v-model="formInline.cooperationUnit"
:disabled="disabled"
@back="cooperationUnitBack"
:backDepart="true" />
</a-form-model-item>
</div>
</div>
</a-form-model>
</a-spin>
@@ -482,7 +502,7 @@
</template>
<script>
import { StandardSource, ProjectType } from '@/enums/commonEnums'
import { StandardSource, ProjectType, ApplicationCategory } from '@/enums/commonEnums'
import { getFormDictTreeList } from '@/api/api'
import UserSelection from '@/components/selection/UserSelection'
import StandardSelection from '@/components/selection/StandardSelection'
@@ -490,6 +510,7 @@ import UploadFile from '@/components/UploadFile'
import { getTreeList } from '@/api/enterpriseStandardLibraryApi'
import Vue from 'vue'
import { USER_INFO } from '@/store/mutation-types'
import { getEnStandardNo } from '@/api/workCenter'
export default {
name: 'BaseInfoTableModal',
@@ -518,6 +539,7 @@ export default {
return {
StandardSource,
ProjectType,
ApplicationCategory,
partNameOptions: [], // 零部件名称下拉框数据
standardSystemOptions: [], // 企标体系下拉框数据
visible: false,
@@ -705,6 +727,20 @@ export default {
return new Date().getFullYear() + ''
}
},
watch: {
// 企业标准代号
'formInline.enStandardCode' (value) {
this.getEnStandardNo()
},
// 企业名称代号
'formInline.enNameCode' (value) {
this.getEnStandardNo()
},
// 标准类别代号
'formInline.standardCategoryCode' (value) {
this.getEnStandardNo()
}
},
mounted () {
this.initPartNameOptions()
this.initStandardSystemOptions()
@@ -780,6 +816,9 @@ export default {
this.planSubmissionDateDisabled = true
}
}
if (!this.formInline.applicationType) {
this.formInline.applicationType = this.ApplicationCategory.INITIATION.value
}
},
look (record) {
this.visible = true
@@ -787,6 +826,40 @@ export default {
this.formInline = Object.assign({}, record)
this.disabled = true
},
// watch监视年代号会滞后
decadeCodeChange (value) {
this.getEnStandardNo()
},
// 根据三个代号和一个年代号获取企标编号
getEnStandardNo () {
// 如果是制定根据填的三个代号和一个年代号获取
if (this.formInline.projectType === ProjectType.ENACT.value) {
if (!this.formInline.enStandardCode || !this.formInline.enNameCode ||
!this.formInline.standardCategoryCode || !this.formInline.decadeCode) {
return
}
const param = {}
param.enStandardCode = this.formInline.enStandardCode
param.enNameCode = this.formInline.enNameCode
param.standardCategoryCode = this.formInline.standardCategoryCode
param.decadeCode = this.formInline.decadeCode
getEnStandardNo(param).then(res => {
if (res.success) {
this.$set(this.formInline, 'newEnStandardNo', res.message)
this.$forceUpdate()
}
})
} else {
// 是修订,通过选中的企标编号和年代号拼接新企标编号
if (this.formInline.originEnStandardNo && this.formInline.decadeCode) {
const standardNo = this.formInline.originEnStandardNo.split('-')[0] + '-' + this.formInline.decadeCode
this.$set(this.formInline, 'newEnStandardNo', standardNo)
this.$forceUpdate()
// 返回流程名称
this.returnProcessName()
}
}
},
// 获取零部件名称下拉框数据
initPartNameOptions () {
getFormDictTreeList({ dictId: '1696821512600637441' }).then(res => {
@@ -814,6 +887,18 @@ export default {
this.formInline.decadeCode = new Date().getFullYear() + ''
}
},
// 授权部门返回参数
authDeptBack (value) {
this.formInline.authDept_dictText = value.map(item => item.text).join(',')
},
// 主起草单位返回参数
mainDraftingUnitBack (value) {
this.formInline.mainDraftingUnit_dictText = value.map(item => item.text).join(',')
},
// 配合单位返回参数
cooperationUnitBack (value) {
this.formInline.cooperationUnit_dictText = value.map(item => item.text).join(',')
},
// 选择用户得到用户名
userSelectNameChange (value, fieldName) {
this.formInline[fieldName + '_dictText'] = value
@@ -852,6 +937,23 @@ export default {
if (valid) {
this.confirmLoading = true
const formInline = JSON.parse(JSON.stringify(this.formInline))
if (formInline.projectType) {
// 翻译项目类别
formInline.projectType_dictText = formInline.projectType === ProjectType.ENACT.value ? ProjectType.ENACT.text : ProjectType.MODIFY.text
// 设置变更状态
if (formInline.projectType === ProjectType.ENACT.value) {
// 是制定,变更状态是新增
formInline.changeStatus_dictText = '新增'
} else {
// 是修订,变更状态是变更
formInline.changeStatus_dictText = '变更'
}
}
// 翻译企业标准代号
if (formInline.enStandardCode) {
formInline.enStandardCode_dictText = this.$refs.enStandardCodeRef.dictOptions.find(item => item.value === formInline.enStandardCode).text
}
// 主起草单位的回显需要在登录信息中有当前登录人部门的翻译 ??
this.$emit('ok', formInline)
this.close()
this.confirmLoading = false
@@ -17,7 +17,7 @@
:can-drag="true"
:scroll="{x: '100%'}"
ref="table"
rowKey="enterpriseStandardPlanId"
:rowKey="(record, index) => {return index}"
:columns="columns"
:dataSource="dataSource"
:pagination="false"
@@ -46,7 +46,7 @@
</div>
<!-- 选人弹框 -->
<user-select-modal ref="userSelectModal" type="radio" @change="userSelectModalChange"></user-select-modal>
<user-select-modal ref="userSelectModal" type="radio" @change="userSelectModalChange" @nameChange="userSelectNameChange"></user-select-modal>
</div>
</template>
@@ -54,7 +54,6 @@
import JTable from '@/components/jero/JTable'
// 选人弹框
import UserSelectModal from '@/components/selection/UserSelectModal'
import { standardizationInitBatchSetApprover } from '@/api/workCenter'
export default {
name: 'ContactSelectApproverBaseInfo',
@@ -199,6 +198,7 @@ export default {
dataIndex: 'approvalUser',
customRender: (value, row, index) => {
return <user-select-by-contact v-model={this.dataSource[index].approvalUser}
nameStr={this.dataSource[index].approvalUser_dictText}
disabled={this.disabled} type={'radio'} placeholder={this.$t('pleaseSelect')} />
}
}
@@ -208,10 +208,45 @@ export default {
selectionRows: [],
url: {
list: ''
}
},
selectNames: '' // 选完人的名字,批量设置人需要用
}
},
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
this.data = data
// 给表格赋值
// this.dataSource =
},
// 外层要获取数据
getData () {
// 把数据抛出
const data = {}
data.dataSource = this.dataSource
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate (callback) {
// 每行的审批人是否都有
let hasErr = false
for (const item of this.dataSource) {
if (!item.approvalUser) {
// 需要选审批人,但是没有选择
hasErr = true
break
}
}
let data
if (hasErr) {
this.$message.warning(this.$t('workCenter.revisionPlanActivelyReport.pleaseSelectApprover'))
data = false
callback(data)
} else {
data = { dataSource: this.dataSource }
callback(data)
}
},
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
this.$openPageNewSheet({
@@ -248,18 +283,17 @@ export default {
}
this.$refs.userSelectModal.open()
},
// 批量设置联络人选择人后的回调
// 批量设置审批人选择人后的回调
userSelectModalChange (value) {
const param = {}
param.contact = value
param.ids = this.selectedRowKeys.join(',')
standardizationInitBatchSetApprover(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
})
for (const item of this.selectedRowKeys) {
this.dataSource[item].approvalUser = value
this.dataSource[item].approvalUser_dictText = this.selectNames
}
this.dataSource = JSON.parse(JSON.stringify(this.dataSource))
},
// 选人的名字获取
userSelectNameChange (value) {
this.selectNames = value
}
}
}
@@ -29,7 +29,9 @@
:can-drag="true"
:scroll="{x: '100%'}"
ref="table"
rowKey="enterpriseStandardPlanId"
:rowKey="(record, index) => {
return index
}"
:columns="columns"
:dataSource="dataSource"
:pagination="false"
@@ -67,7 +69,7 @@
<base-info-table-modal ref="baseInfoTableModal" @ok="modelFormOk"></base-info-table-modal>
<!-- 选人弹框 -->
<user-select-modal ref="userSelectModal" type="radio" @change="userSelectModalChange"></user-select-modal>
<user-select-modal ref="userSelectModal" type="radio" @change="userSelectModalChange" @nameChange="userSelectNameChange"></user-select-modal>
</div>
</template>
@@ -79,7 +81,6 @@ import JTable from '@/components/jero/JTable'
import { downloadFile } from '@/api/manage'
import UserSelectByContact from '@/components/selection/UserSelectByContact'
import UserSelectModal from '@/components/selection/UserSelectModal'
import { standardizationInitBatchSetContact } from '@/api/workCenter'
import BaseInfoTableModal from './BaseInfoTableModal'
// 导入的加载提示
@@ -246,6 +247,7 @@ export default {
} else {
// 不是被驳回的待办,可以设置联络人
return <user-select-by-contact v-model={this.dataSource[index].contactUser}
nameStr={this.dataSource[index].contactUser_dictText}
disabled={this.disabled} type={'radio'} placeholder={this.$t('pleaseSelect')} />
}
}
@@ -267,17 +269,58 @@ export default {
importExcelUrl: '/process/es/annualInit/importExcel'
},
modalType: '', // 是在新增还是在编辑,编辑的时候放正在编辑的下标
isRejectedTodo: false // 是否是被驳回的待办,被驳回的待办不可设置联络人
isRejectedTodo: false, // 是否是被驳回的待办,被驳回的待办不可设置联络人
selectNames: '' // 选完人的名字,批量设置人需要用
}
},
mounted () {
/**
* 需要能判断是否是被驳回,产生的待办点击进入的,是的话需要显示带出被驳回的法规的联络人,
* 并且去掉批量设置联络人按钮,如需修改联络人,删除该标准重新走标准化发起流程
* 并且去掉批量设置联络人按钮,如需修改联络人,删除该标准重新走标准化发起流程 ??
*/
// this.isRejectedTodo = false
},
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
this.data = data
// 给表格赋值
// this.dataSource =
},
// 外层要获取数据
getData () {
// 把数据抛出
const data = {}
data.dataSource = this.dataSource
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate (callback) {
// 校验表格是否每行都有数据,每行的联络人是否都有
if (this.dataSource && this.dataSource.length > 0) {
const data = {}
data.dataSource = this.dataSource
let hasErr = false
for (const item of this.dataSource) {
if (!item.contactUser) {
// 需要选联络人,但是没有选择
hasErr = true
break
}
}
if (hasErr) {
this.$message.warning(this.$t('workCenter.revisionPlanActivelyReport.pleaseSelectContact'))
const data = false
callback(data)
} else {
callback(data)
}
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
const data = false
callback(data)
}
},
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
this.$openPageNewSheet({
@@ -393,7 +436,7 @@ export default {
},
// 编辑
handleEdit (record, index) {
this.modalType = 'edit' + index
this.modalType = 'edit' + ',' + index
this.$refs.baseInfoTableModal.edit(record)
},
// 查看
@@ -406,7 +449,11 @@ export default {
},
// 批量删除
batchDel () {
this.dataSource = this.dataSource.filter(item => !this.selectedRowKeys.includes(item.enterpriseStandardPlanId))
for (let i = 0; i < this.selectedRowKeys.length; i++) {
this.dataSource.splice(this.selectedRowKeys[i], 1, false)
}
this.dataSource = this.dataSource.filter(item => !!item)
this.selectedRowKeys = []
},
// 批量设置联络人
batchSetContact () {
@@ -419,16 +466,15 @@ export default {
},
// 批量设置联络人选择人后的回调
userSelectModalChange (value) {
const param = {}
param.contact = value
param.ids = this.selectedRowKeys.join(',')
standardizationInitBatchSetContact(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
})
for (const item of this.selectedRowKeys) {
this.dataSource[item].contactUser = value
this.dataSource[item].contactUser_dictText = this.selectNames
}
this.dataSource = JSON.parse(JSON.stringify(this.dataSource))
},
// 选人的名字获取
userSelectNameChange (value) {
this.selectNames = value
}
}
}
@@ -13,7 +13,7 @@
:can-drag="true"
:scroll="{x: '100%'}"
ref="table"
rowKey="enterpriseStandardPlanId"
:rowKey="(record, index) => {return index}"
:columns="columns"
:dataSource="dataSource"
:pagination="false"
@@ -42,7 +42,7 @@
</div>
<!-- 选人弹框 -->
<user-select-modal ref="userSelectModal" type="radio" @change="userSelectModalChange"></user-select-modal>
<user-select-modal ref="userSelectModal" type="radio" @change="userSelectModalChange" @nameChange="userSelectNameChange"></user-select-modal>
</div>
</template>
@@ -50,7 +50,6 @@
import JTable from '@/components/jero/JTable'
// 选人弹框
import UserSelectModal from '@/components/selection/UserSelectModal'
import { standardizationInitBatchSetDrafter } from '@/api/workCenter'
export default {
name: 'LeaderApproveSentBaseInfo',
@@ -195,6 +194,7 @@ export default {
dataIndex: 'drafter',
customRender: (value, row, index) => {
return <user-select-by-contact v-model={this.dataSource[index].drafter}
nameStr={this.dataSource[index].drafter_dictText}
disabled={this.disabled} type={'radio'} placeholder={this.$t('pleaseSelect')} />
}
}
@@ -204,10 +204,45 @@ export default {
selectionRows: [],
url: {
list: ''
}
},
selectNames: '' // 选完人的名字,批量设置人需要用
}
},
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
this.data = data
// 给表格赋值
// this.dataSource =
},
// 外层要获取数据
getData () {
// 把数据抛出
const data = {}
data.dataSource = this.dataSource
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate (callback) {
// 每行的主起草人是否都有
let hasErr = false
for (const item of this.dataSource) {
if (!item.drafter) {
// 需要选主起草人,但是没有选择
hasErr = true
break
}
}
let data
if (hasErr) {
this.$message.warning(this.$t('workCenter.revisionPlanActivelyReport.pleaseSelectDrafter'))
data = false
callback(data)
} else {
data = { dataSource: this.dataSource }
callback(data)
}
},
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
this.$openPageNewSheet({
@@ -240,18 +275,17 @@ export default {
}
this.$refs.userSelectModal.open()
},
// 批量设置联络人选择人后的回调
// 批量设置主起草人选择人后的回调
userSelectModalChange (value) {
const param = {}
param.contact = value
param.ids = this.selectedRowKeys.join(',')
standardizationInitBatchSetDrafter(param).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warning(res.message)
}
})
for (const item of this.selectedRowKeys) {
this.dataSource[item].draft = value
this.dataSource[item].draft_dictText = this.selectNames
}
this.dataSource = JSON.parse(JSON.stringify(this.dataSource))
},
// 选人的名字获取
userSelectNameChange (value) {
this.selectNames = value
}
}
}
@@ -228,6 +228,32 @@ export default {
}
},
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
this.data = data
// 给表格赋值
// this.dataSource =
},
// 外层要获取数据
getData () {
// 把数据抛出
const data = {}
data.dataSource = this.dataSource
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate (callback) {
// 校验表格是否每行都有数据,每行的联络人是否都有
if (this.dataSource && this.dataSource.length > 0) {
const data = {}
data.dataSource = this.dataSource
callback(data)
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
const data = false
callback(data)
}
},
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
this.$openPageNewSheet({
@@ -749,6 +749,7 @@ export default {
return
}
}
this.loading = true
// 保存到草稿
enterprisePlanApprovalSave(arr).then(res => {
if (res.success) {
@@ -756,6 +757,8 @@ export default {
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
// 节点一时候的提交,发起立项变更申请(业务基本信息那里是表格的就穿给后端数组里多条数据,是表单的就在数组里放一条数据)