123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- import { taskStatus } from '@/utils/status'
- export const columns = (_this) => [
- {
- prop: 'taskName',
- label: '任务名称',
- align: 'left',
- width: '200px'
- },
- {
- prop: 'taskCode',
- label: '任务代号'
- },
- {
- prop: 'taskTime',
- label: '任务时间',
- width: '200px'
- },
- {
- prop: 'taskDuration',
- label: '任务时长/小时'
- },
- {
- prop: 'flyingSession',
- label: '飞行场次'
- },
- {
- prop: 'env',
- label: '飞行环境'
- },
- {
- prop: 'transferLabel',
- label: '转场形式'
- },
- {
- prop: 'teamLeader',
- label: '带队领导'
- },
- {
- prop: 'taskAircraftNum',
- label: '任务要求飞机数量'
- },
- {
- prop: 'carryingAvmatNumber',
- label: '携带航材数量'
- },
- {
- prop: 'taskType',
- label: '任务类型'
- },
- {
- prop: 'taskSite',
- label: '任务地点'
- },
- // {
- // prop: 'riskFactor',
- // label: '风险系数'
- // },
- // {
- // prop: 'taskStrengthLabel',
- // label: '任务强度'
- // },
- {
- prop: 'status',
- label: '状态',
- width: '150px',
- render: (h, params) => taskStatus(h, params.row.status)
- },
- {
- prop: 'updateTime',
- label: '更新时间',
- width: '120px'
- },
- {
- button: true,
- label: '操作',
- width: '250px',
- align: 'left',
- group: [
- {
- name: '编辑',
- type: 'text',
- round: false,
- plain: false,
- statusKey: 'status',
- unDisableKey: '1',
- onClick: (row, index, scope) => {
- _this.edit(row)
- }
- },
- {
- name: '任务飞机',
- type: 'text',
- round: false,
- plain: false,
- statusKey: 'status',
- showType: '1', //0:父级;1:子级
- onClick: (row, index, scope) => {
- _this.toAircraft(row)
- }
- },
- {
- name: '删除',
- type: 'text',
- round: false,
- plain: false,
- statusKey: 'status',
- unDisableKey: '1',
- onClick: (row, index, scope) => {
- _this.remove(row)
- }
- },
- {
- name: '提交',
- type: 'text',
- round: false,
- plain: false,
- statusKey: 'status',
- unDisableKey: '1',
- showType: '0', //0:父级;1:子级
- onClick: (row, index, scope) => {
- _this.audit(row)
- }
- }
- ]
- }
- ]
- export const options = {
- treeProps: {
- children: 'children',
- hasChildren: 'hasChildren'
- },
- rowKey: 'taskId',
- stripe: true, // 斑马纹
- mutiSelect: true, // 多选框
- index: false, // 显示序号, 多选则 mutiSelect
- loading: false, // 表格动画
- initTable: true, // 是否一挂载就加载数据
- border: true,
- rowKey: 'taskId',
- height: 'calc(100vh - 240px)'
- }
- // export const findParents = (tree, targetId, path = []) => {
- // for (const node of tree) {
- // path.push(node.aircaftTypeCode)
- // if (node.aircaftTypeCode === targetId) {
- // return path
- // }
- // if (node.children && Array.isArray(node.children) && node.children.length > 0) {
- // const result = findParents(node.children, targetId, path)
- // if (result) {
- // return result
- // }
- // }
- // path.pop()
- // }
- // return null
- // }
- export const modalConfig = (_this) => ({
- formItems: [
- {
- key: 'parentId',
- type: 'select',
- label: '主任务',
- placeHolder: '请选择主任务',
- valueOptions: [],
- colLayout: { span: 24 }
- },
- { key: 'taskName', type: 'input', label: '任务名称', placeHolder: '请输入任务名称' },
- { key: 'taskCode', type: 'input', label: '任务代号', placeHolder: '请输入任务代号' },
- { key: 'teamLeader', type: 'input', label: '带队领导', placeHolder: '请输入带队领导' },
- {
- key: 'taskTime',
- type: 'daterange',
- label: '任务时间',
- options: {
- format: 'yyyy-M-d',
- placeHolder: '请选择任务时间',
- 'range-separator': '至',
- 'start-placeholder': '开始日期',
- 'end-placeholder': '结束日期',
- 'value-format': 'yyyy-MM-dd'
- }
- },
- {
- key: 'taskDuration',
- type: 'inputNumber',
- label: '任务时长',
- placeHolder: '请输入任务时长',
- options: {
- style: 'width: 100%'
- }
- },
- {
- key: 'envFactorId',
- type: 'select',
- label: '飞行环境',
- placeHolder: '请选择飞行环境',
- valueOptions: []
- },
- {
- key: 'flyingSession',
- type: 'inputNumber',
- label: '飞行场次',
- placeHolder: '请输入飞行场次',
- options: {
- style: 'width: 100%'
- }
- },
- { key: 'taskType', type: 'input', label: '任务类型', placeHolder: '请输入任务类型' },
- {
- key: 'taskAircraftNum',
- type: 'inputNumber',
- label: '任务飞机数量',
- placeHolder: '请输入任务飞机数量',
- options: {
- style: 'width: 100%'
- }
- },
- // {
- // key: 'carryingAvmatNumber',
- // type: 'inputNumber',
- // label: '携带航材数量',
- // placeHolder: '请输入携带航材数量',
- // options: {
- // style: 'width: 100%'
- // }
- // },
- { key: 'taskSite', type: 'input', label: '任务地点', placeHolder: '请输入任务地点' },
- {
- key: 'transferModality',
- type: 'select',
- label: '转场形式',
- placeHolder: '请选择转场形式',
- valueOptions: []
- },
- { key: 'riskFactor', type: 'input', label: '风险系数', placeHolder: '请输入危险系数' },
- {
- key: 'taskStrength',
- type: 'select',
- label: '任务强度',
- placeHolder: '请选择任务强度',
- valueOptions: []
- },
- {
- key: 'taskDescribe',
- type: 'input',
- label: '任务描述',
- // 文本域,不写则是普通文本框
- inputOptions: {
- type: 'textarea',
- rows: '2',
- style: 'width: 100%'
- },
- colLayout: { span: 24 }
- }
- ],
- labelWidth: '120px',
- width: '800px',
- itemStyle: { padding: '10px' },
- rules: {
- taskName: [{ required: true, message: '请输入任务名称', trigger: 'blur' }],
- taskCode: [{ required: true, message: '请输入任务代号', trigger: 'blur' }],
- teamLeader: [{ required: true, message: '请输入带队领导', trigger: 'blur' }],
- taskTime: [{ required: true, message: '请选择任务时间', trigger: 'blur' }],
- taskDuration: [
- { required: true, message: '请输入任务时长', trigger: 'blur' },
- { validator: taskDurationvalidate, trigger: 'blur' }
- ],
- envFactorId: [{ required: true, message: '请选择飞行环境', trigger: 'blur' }],
- flyingSession: [
- { required: true, message: '请输入飞行场次', trigger: 'blur' },
- { validator: flyingSessionvalidate, trigger: 'blur' }
- ],
- taskType: [{ required: true, message: '请输入任务类型', trigger: 'blur' }],
- taskAircraftNum: [
- { required: true, message: '请输入任务飞机数量', trigger: 'blur' },
- { validator: taskAircraftNumvalidate, trigger: 'blur' }
- ],
- carryingAvmatNumber: [
- { required: true, message: '请输入携带航材数量', trigger: 'blur' },
- { validator: taskAircraftNumvalidate, trigger: 'blur' }
- ],
- taskSite: [{ required: true, message: '请输入任务地点', trigger: 'blur' }],
- transferModality: [{ required: true, message: '请选择转场形式', trigger: 'blur' }],
- // taskDescribe: [{ required: true, message: '请输入任务描述', trigger: 'blur' }]
- riskFactor: [
- { required: true, message: '请输入危险系数', trigger: 'blur' },
- {
- validator: (rule, value, callback) => {
- if (value === '') {
- callback(new Error('请输入数字'))
- } else {
- const reg = /^(\d+|\d+\.\d+)$/
- if (reg.test(value)) {
- callback()
- } else {
- callback(new Error('请输入整数或小数'))
- }
- }
- }
- }
- ],
- taskStrength: [{ required: true, message: '请选择任务强度', trigger: 'blur' }]
- }
- })
- const taskDurationvalidate = (rule, value, callback) => {
- if (!Number.isInteger(Number(value)) || Number(value) <= 0) {
- callback(new Error('任务时长必须大于0'))
- } else {
- callback()
- }
- }
- const flyingSessionvalidate = (rule, value, callback) => {
- if (!Number.isInteger(Number(value)) || Number(value) <= 0) {
- callback(new Error('飞行场次必须大于0且为正整数'))
- } else {
- callback()
- }
- }
- const taskAircraftNumvalidate = (rule, value, callback) => {
- if (!Number.isInteger(Number(value)) || Number(value) <= 0) {
- callback(new Error('飞机数量必须大于0且为正整数'))
- } else {
- callback()
- }
- }
|