|
@@ -36,8 +36,9 @@ import buttonMixin from './button_mixin.js'
|
|
|
import ImageUpload from '@/components/file-upload'
|
|
|
import { required } from '@/components/template/rules_verify.js'
|
|
|
import { orderBaseLogAdd } from '@/api/workOrderPool.js'
|
|
|
+import editTable from '@/components/template/editTable.js'
|
|
|
export default {
|
|
|
- mixins: [buttonMixin],
|
|
|
+ mixins: [buttonMixin, editTable],
|
|
|
components: {
|
|
|
ImageUpload
|
|
|
},
|
|
@@ -64,7 +65,8 @@ export default {
|
|
|
appointmentTime: '',
|
|
|
appointmentEndTime: '',
|
|
|
type: this.resultCode,
|
|
|
- typeText: this.resultCode
|
|
|
+ typeText: this.resultCode,
|
|
|
+ daijianItems: []
|
|
|
},
|
|
|
formRules: {}
|
|
|
}
|
|
@@ -89,6 +91,8 @@ export default {
|
|
|
event: {
|
|
|
change: val => {
|
|
|
this.formData.typeText = this.formData.type
|
|
|
+ this.formData.daijianItems = []
|
|
|
+ this.isEditTableIndex = -1
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -250,6 +254,80 @@ export default {
|
|
|
},
|
|
|
|
|
|
{
|
|
|
+ isShow: !!~['待件'].indexOf(this.formData.type),
|
|
|
+ name: 'slot-component',
|
|
|
+ md: 24,
|
|
|
+ attributes: { disabled: false, placeholder: '' },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '待件明细',
|
|
|
+ prop: 'daijianItems',
|
|
|
+ rules: [...required]
|
|
|
+ },
|
|
|
+ render: (h, { props, onInput }) => {
|
|
|
+ var { value } = props
|
|
|
+ return this.convertTableJson(
|
|
|
+ value,
|
|
|
+ [
|
|
|
+ {
|
|
|
+ columnAttributes: {
|
|
|
+ label: '待件申请编号',
|
|
|
+ prop: 'applyNum1',
|
|
|
+ rules: [...required]
|
|
|
+ },
|
|
|
+ editRender: this.inputEditRender,
|
|
|
+ viewRender: this.inputViewRender
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnAttributes: {
|
|
|
+ label: '待件物料编号',
|
|
|
+ prop: 'applyNum2',
|
|
|
+ rules: [...required]
|
|
|
+ },
|
|
|
+ editRender: this.inputEditRender,
|
|
|
+ viewRender: this.inputViewRender
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ {
|
|
|
+ isEdit: true,
|
|
|
+ isAdd: true,
|
|
|
+ isDel: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ add: () => {
|
|
|
+ this.formData.daijianItems.push({
|
|
|
+ applyNum1: '',
|
|
|
+ applyNum2: ''
|
|
|
+ })
|
|
|
+ this.isEditTableIndex = this.formData.daijianItems.length - 1
|
|
|
+ },
|
|
|
+ delete: ({ row, column, index }, cb) => {
|
|
|
+ if (this.isEditTableIndex == index) {
|
|
|
+ this.isEditTableIndex = -1
|
|
|
+ } else if (this.isEditTableIndex > index) {
|
|
|
+ this.isEditTableIndex--
|
|
|
+ }
|
|
|
+ cb?.()
|
|
|
+ },
|
|
|
+ verify: ({ row, column, index }, isEditTableIndex) => {
|
|
|
+ return new Promise(r => {
|
|
|
+ if (isEditTableIndex > -1) {
|
|
|
+ this.$refs.formRef.validateField(
|
|
|
+ [`daijianItems.${isEditTableIndex}.applyNum1`, `daijianItems.${isEditTableIndex}.applyNum2`],
|
|
|
+ v => {
|
|
|
+ r(!!v)
|
|
|
+ }
|
|
|
+ )
|
|
|
+ } else {
|
|
|
+ r(true)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
md: 24,
|
|
|
name: 'el-input',
|
|
|
attributes: { placeholder: '请输入', type: 'textarea' },
|
|
@@ -295,9 +373,13 @@ export default {
|
|
|
this.$refs.formRef.validate(valid => {
|
|
|
if (valid) {
|
|
|
this.lockBtn()
|
|
|
+
|
|
|
orderBaseLogAdd({
|
|
|
...this.formData,
|
|
|
- imgSrc: this.formData.imgSrc.map(item => item.url).join(',')
|
|
|
+ imgSrc: this.formData.imgSrc.map(item => item.url).join(','),
|
|
|
+ applyNum: !!~['待件'].indexOf(this.formData.type)
|
|
|
+ ? this.formData.daijianItems.map(item => `${item.applyNum1}|${item.applyNum2}`).join(',')
|
|
|
+ : ''
|
|
|
})
|
|
|
.then(res => {
|
|
|
this.unlockBtn()
|
|
@@ -316,6 +398,32 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
+ },
|
|
|
+
|
|
|
+ inputEditRender: (h, { row, column, index }) => {
|
|
|
+ return (
|
|
|
+ <div class="redbordererr">
|
|
|
+ <el-form-item
|
|
|
+ label=""
|
|
|
+ label-width="0px"
|
|
|
+ prop={`daijianItems.${index}.${column.columnAttributes.prop}`}
|
|
|
+ rules={column.columnAttributes.rules || []}
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ value={row[column.columnAttributes.prop]}
|
|
|
+ onInput={val => {
|
|
|
+ row[column.columnAttributes.prop] = val
|
|
|
+ }}
|
|
|
+ type="number"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+ },
|
|
|
+
|
|
|
+ inputViewRender: (h, { row, column, index }) => {
|
|
|
+ return <div style="padding-left:10px">{row[column.columnAttributes.prop]}</div>
|
|
|
}
|
|
|
}
|
|
|
}
|