Merge branch 'develop' of https://e.coding.net/ctcdevteam/hberp/hberp into develop
This commit is contained in:
commit
b80b3ac5f2
|
|
@ -2,24 +2,31 @@
|
|||
<div class="app-container">
|
||||
<el-card>
|
||||
<el-row :gutter="24">
|
||||
<!--表格-->
|
||||
<el-col :span="6">
|
||||
<el-card>
|
||||
<div slot="header" class="clearfix">
|
||||
<span style="font-size: 16px; font-weight: 700"
|
||||
>物料检验记录表</span
|
||||
<div
|
||||
slot="header"
|
||||
class="clearfix"
|
||||
>
|
||||
<span style="font-size: 16px; font-weight: 700">物料检验记录表</span>
|
||||
</div>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="handleCreate"
|
||||
>新增</el-button
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="handleCreate"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
<!--表格列表-->
|
||||
<el-table
|
||||
v-el-height-adaptive-table="{ bottomOffset: 50 }"
|
||||
:data="recordformList.results"
|
||||
border
|
||||
fit
|
||||
stripe
|
||||
highlight-current-row
|
||||
height="100"
|
||||
v-el-height-adaptive-table="{ bottomOffset: 50 }"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column type="index" width="50"/>
|
||||
|
|
@ -31,22 +38,26 @@
|
|||
<el-link
|
||||
v-if="checkPermission(['material_update'])"
|
||||
@click="handleLook(scope)"
|
||||
>查看</el-link
|
||||
>查看
|
||||
</el-link
|
||||
>
|
||||
<el-link
|
||||
v-if="checkPermission(['material_update'])"
|
||||
@click="handleEdit(scope)"
|
||||
>编辑</el-link
|
||||
>编辑
|
||||
</el-link
|
||||
>
|
||||
<el-link
|
||||
v-if="checkPermission(['material_delete'])"
|
||||
type="danger"
|
||||
@click="handleDelete(scope)"
|
||||
>删除</el-link
|
||||
>删除
|
||||
</el-link
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--新增、编辑记录表格-->
|
||||
<el-dialog
|
||||
:visible.sync="dialogVisible"
|
||||
:title="dialogType === 'edit' ? '编辑记录表格' : '新增记录表格'"
|
||||
|
|
@ -63,37 +74,40 @@
|
|||
</el-form>
|
||||
<div style="text-align: right">
|
||||
<el-button type="danger" @click="dialogVisible = false"
|
||||
>取消</el-button
|
||||
>
|
||||
>取消
|
||||
</el-button>
|
||||
<el-button type="primary" @click="recordformconfirm('Forms')"
|
||||
>确认</el-button
|
||||
>
|
||||
>确认
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格展示-->
|
||||
<el-dialog
|
||||
:model="tableForm"
|
||||
:visible.sync="dialogVisibleForm"
|
||||
:title="tableForm.name"
|
||||
>
|
||||
<el-form label-width="80px" label-position="right">
|
||||
<el-form ref="Forms" label-width="80px" :model="checkForm">
|
||||
<el-row
|
||||
v-for="(item, $index) in fieldList.results"
|
||||
v-show="filterBlock(item.parent,item.rule_expression,item.need_judge)"
|
||||
:key="$index"
|
||||
>
|
||||
<el-form-item
|
||||
v-if="item.field_type === 'string'"
|
||||
:label="item.field_name"
|
||||
>
|
||||
<el-input placeholder="请输入" v-model="item.sort" />
|
||||
<el-form-item v-if="item.field_type === 'string'" :label="item.field_name">
|
||||
<el-input
|
||||
v-model="checkForm[item.field_key]"
|
||||
placeholder="请输入"
|
||||
@input="keyChange(item.field_key)"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-else-if="item.field_type === 'int'"
|
||||
:label="item.field_name"
|
||||
>
|
||||
<el-input
|
||||
v-model="checkForm[item.field_key]"
|
||||
type="number"
|
||||
placeholder="请输入"
|
||||
v-model="item.sort"
|
||||
@input="keyChange(item.field_key)"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
|
@ -101,9 +115,10 @@
|
|||
:label="item.field_name"
|
||||
>
|
||||
<el-input
|
||||
v-model="checkForm[item.field_key]"
|
||||
type="number"
|
||||
placeholder="请输入"
|
||||
v-model="item.sort"
|
||||
@input="keyChange(item.field_key)"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
|
@ -111,11 +126,12 @@
|
|||
:label="item.field_name"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="item.create_time"
|
||||
v-model="checkForm[item.field_key]"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
@change="keyChange(item.field_key)"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
|
@ -124,11 +140,12 @@
|
|||
:label="item.field_name"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="item.create_time"
|
||||
v-model="checkForm[item.field_key]"
|
||||
type="datetime"
|
||||
placeholder="选择日期"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
style="width: 100%"
|
||||
@change="keyChange(item.field_key)"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
|
@ -137,9 +154,10 @@
|
|||
:label="item.field_name"
|
||||
>
|
||||
<el-select
|
||||
v-model="checkForm[item.field_key]"
|
||||
style="width: 100%"
|
||||
v-model="item.sort"
|
||||
placeholder="请选择"
|
||||
@change="keyChange(item.field_key)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item1 in item.field_choice"
|
||||
|
|
@ -155,8 +173,8 @@
|
|||
:label="item.field_name"
|
||||
>
|
||||
<el-select
|
||||
v-model="checkForm[item.field_key]"
|
||||
style="width: 100%"
|
||||
v-model="optio"
|
||||
multiple
|
||||
placeholder="请选择"
|
||||
>
|
||||
|
|
@ -178,6 +196,7 @@
|
|||
</el-dialog>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<!--表格字段-->
|
||||
<el-col :span="18">
|
||||
<el-card>
|
||||
<div slot="header" class="clearfix">
|
||||
|
|
@ -187,8 +206,10 @@
|
|||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="handlefieldCreate"
|
||||
>新增</el-button
|
||||
>新增
|
||||
</el-button
|
||||
>
|
||||
<!--表格字段列表-->
|
||||
<el-table
|
||||
:data="fieldList.results"
|
||||
border
|
||||
|
|
@ -202,19 +223,22 @@
|
|||
<el-table-column label="字段名称">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.field_name
|
||||
}}</template>
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="字段类型">
|
||||
<template slot-scope="scope">{{
|
||||
options_[scope.row.field_type]
|
||||
}}</template>
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="字段标识">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.field_key
|
||||
}}</template>
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!--
|
||||
<el-table-column label="上限值">
|
||||
|
|
@ -250,13 +274,15 @@
|
|||
<el-link
|
||||
v-if="checkPermission(['material_update'])"
|
||||
@click="handlefieldEdit(scope)"
|
||||
>编辑</el-link
|
||||
>编辑
|
||||
</el-link
|
||||
>
|
||||
<el-link
|
||||
v-if="checkPermission(['material_delete'])"
|
||||
type="danger"
|
||||
@click="handlefieldDelete(scope)"
|
||||
>删除</el-link
|
||||
>删除
|
||||
</el-link
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -268,6 +294,7 @@
|
|||
:limit.sync="listQueryfield.page_size"
|
||||
@pagination="fieldLists"
|
||||
/>
|
||||
<!--表格字段新增编辑-->
|
||||
<el-dialog
|
||||
:visible.sync="dialogVisible1"
|
||||
:title="dialogType1 === 'edit' ? '编辑表格字段' : '新增表格字段'"
|
||||
|
|
@ -294,11 +321,7 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="字段标识" prop="field_key">
|
||||
<el-input
|
||||
v-model="field.field_key"
|
||||
placeholder="字段标识"
|
||||
onkeyup="value=value.replace(/[^A-Za-z_\/]/ig,'')"
|
||||
/>
|
||||
<el-input v-model="field.field_key" placeholder="字段标识" @input="checkValue"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="字段名称" prop="field_name">
|
||||
<el-input v-model="field.field_name" placeholder="字段名称"/>
|
||||
|
|
@ -340,7 +363,9 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="字段父级">
|
||||
<treeselect v-model="field.parent" :multiple="false" :options="treeDate" placeholder="字段父级"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否需要判定" prop="need_judge">
|
||||
<el-switch v-model="field.need_judge"></el-switch>
|
||||
</el-form-item>
|
||||
|
|
@ -407,9 +432,6 @@
|
|||
</el-form-item>
|
||||
|
||||
!-->
|
||||
|
||||
|
||||
|
||||
<el-form-item label="表达式" v-if="field.need_judge == true">
|
||||
<el-input v-model="field.rule_expression" type="textarea"/>
|
||||
</el-form-item>
|
||||
|
|
@ -424,10 +446,12 @@
|
|||
</el-form>
|
||||
<div style="text-align: right">
|
||||
<el-button type="danger" @click="dialogVisible1 = false"
|
||||
>取消</el-button
|
||||
>取消
|
||||
</el-button
|
||||
>
|
||||
<el-button type="primary" @click="fieldconfirm('Form')"
|
||||
>确认</el-button
|
||||
>确认
|
||||
</el-button
|
||||
>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
|
@ -455,6 +479,9 @@ import {
|
|||
} from "@/api/mtm";
|
||||
import {genTree} from "@/utils";
|
||||
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
|
||||
const defaultstep = {
|
||||
name: "",
|
||||
number: "",
|
||||
|
|
@ -463,7 +490,7 @@ const defaultstep = {
|
|||
const defaultrecordform = {};
|
||||
const defaultfield = {};
|
||||
export default {
|
||||
components: { Pagination, vueJsonEditor },
|
||||
components: {Pagination, vueJsonEditor, Treeselect},
|
||||
data() {
|
||||
return {
|
||||
step: defaultstep,
|
||||
|
|
@ -481,6 +508,7 @@ export default {
|
|||
field_key: "",
|
||||
field_name: "",
|
||||
sort: "",
|
||||
parent: "",
|
||||
field_choice: [""],
|
||||
},
|
||||
field_choice: [""],
|
||||
|
|
@ -495,8 +523,9 @@ export default {
|
|||
dialogVisible: false,
|
||||
dialogType1: "new",
|
||||
dialogVisible1: false,
|
||||
tableForm: {
|
||||
name: "",
|
||||
tableForm: defaultrecordform,
|
||||
checkForm:{
|
||||
hhh:'',
|
||||
},
|
||||
listQueryrecordform: {
|
||||
page: 1,
|
||||
|
|
@ -508,6 +537,7 @@ export default {
|
|||
fieldList: {
|
||||
count: 0,
|
||||
},
|
||||
treeDate: [],
|
||||
listQueryfield: {
|
||||
page: 1,
|
||||
page_size: 20,
|
||||
|
|
@ -586,6 +616,85 @@ export default {
|
|||
this.recordformLists();
|
||||
},
|
||||
methods: {
|
||||
keyChange(key){
|
||||
let y = this.checkForm[key];
|
||||
this.$set(this.checkForm,key,y);
|
||||
this.fieldList.results=[...this.fieldList.results];
|
||||
this.filterBlock();
|
||||
},
|
||||
filterBlock(parent,rule,judge){
|
||||
let that = this;
|
||||
if(parent!==''&&parent!==null&&parent!==undefined){
|
||||
if(judge){
|
||||
if(rule!==''&&rule!==null&&rule!==undefined){
|
||||
let reg = /\{(.+?)\}/g;
|
||||
//let str = rule.replace(temp,'').replace('$','');//=='有'
|
||||
//let y = that.checkForm[key];
|
||||
if(rule.indexOf('||')>-1||rule.indexOf('&&')>-1){
|
||||
let tam = '', arr = [];
|
||||
if(rule.indexOf('||')>-1){
|
||||
arr = rule.split('||');
|
||||
}else{
|
||||
arr = rule.split('&&');
|
||||
}
|
||||
for (let i = 0;i<arr.length;i++){
|
||||
//获取判断依据
|
||||
let a = '';
|
||||
a = arr[i].replace(/`/g,'');
|
||||
a = '`'+ a+'`';
|
||||
let tem =a.match(reg)[0];
|
||||
let ky = tem.replace(/\{|\}/g, '');//qipao
|
||||
if(that.checkForm[ky]){
|
||||
//替换变量
|
||||
a = a.replace(ky, 'yyy');
|
||||
let yyy = "'"+that.checkForm[ky]+"'";
|
||||
if(eval(eval( a))){
|
||||
tam += 'true';
|
||||
}else{
|
||||
tam += 'false';
|
||||
}
|
||||
}else{
|
||||
tam += 'false';
|
||||
}
|
||||
}
|
||||
let rea = true;
|
||||
if(rule.indexOf('||')>-1){
|
||||
if( tam.indexOf('true')>-1){
|
||||
rea = true;
|
||||
}else{
|
||||
rea = false;
|
||||
}
|
||||
}else{
|
||||
if( tam.indexOf('false')>-1){
|
||||
rea = false;
|
||||
}else{
|
||||
rea = true;
|
||||
}
|
||||
}
|
||||
return rea;
|
||||
}else{
|
||||
let temp =rule.match(reg)[0];
|
||||
let key = temp.replace(/\{|\}/g, '');//qipao
|
||||
let a = rule.replace(key, 'yy');
|
||||
a = a.replace(key, 'yy');
|
||||
let yy = "'"+that.checkForm[key]+"'";
|
||||
return eval(eval(a));
|
||||
// return eval("'"+y+"'"+str);
|
||||
}
|
||||
debugger;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
},
|
||||
checkValue() {
|
||||
this.field.field_key = this.field.field_key.replace(/[^a-zA-Z]/g, '');
|
||||
},
|
||||
//添加字段选项
|
||||
addDomain() {
|
||||
this.field_choice.push("");
|
||||
|
|
@ -596,10 +705,26 @@ export default {
|
|||
},
|
||||
handleLook(scope) {
|
||||
debugger;
|
||||
console.log(scope);
|
||||
this.dialogVisibleForm = true;
|
||||
// console.log(scope);
|
||||
let that = this;
|
||||
this.tableForm = Object.assign({}, scope.row); // copy obj
|
||||
this.formID = this.tableForm.id;
|
||||
this.listQueryfield.form = this.formID;
|
||||
getrffieldList(this.listQueryfield).then((response) => {
|
||||
if (response.data) {
|
||||
debugger;
|
||||
this.fieldList = response.data;
|
||||
let list = response.data.results;
|
||||
for(let i=0;i<list.length;i++){
|
||||
let key = list[i].field_key;
|
||||
that.checkForm[key]='';
|
||||
that.$set(that.checkForm,key,'')
|
||||
}
|
||||
this.dialogVisibleForm = true;
|
||||
console.log(that.checkForm);
|
||||
debugger;
|
||||
}
|
||||
});
|
||||
this.fieldLists();
|
||||
},
|
||||
checkPermission,
|
||||
|
|
@ -607,6 +732,7 @@ export default {
|
|||
handleCurrentChange(row) {
|
||||
this.formID = row.id;
|
||||
this.fieldLists();
|
||||
this.fieldLists1();
|
||||
},
|
||||
recordformLists() {
|
||||
this.listQueryrecordform.material = this.material;
|
||||
|
|
@ -618,10 +744,27 @@ export default {
|
|||
});
|
||||
},
|
||||
fieldLists() {
|
||||
this.listQueryfield.form = this.formID;
|
||||
getrffieldList(this.listQueryfield).then((response) => {
|
||||
let that = this;
|
||||
that.listQueryfield.form = that.formID;
|
||||
getrffieldList(that.listQueryfield).then((response) => {
|
||||
if (response.data) {
|
||||
this.fieldList = response.data;
|
||||
that.fieldList = response.data;
|
||||
that.fieldList.results=[...that.fieldList.results]
|
||||
}
|
||||
});
|
||||
},
|
||||
fieldLists1() {
|
||||
let params = new Object();
|
||||
let that = this;
|
||||
params.page = 0;
|
||||
params.form = this.formID;
|
||||
getrffieldList(params).then((response) => {
|
||||
if (response.data) {
|
||||
let data = response.data;
|
||||
data.forEach(item => {
|
||||
item.name = item.field_name;
|
||||
});
|
||||
that.treeDate = genTree(data);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -637,7 +780,7 @@ export default {
|
|||
//新增字段
|
||||
handlefieldCreate() {
|
||||
this.field_choice = [""];
|
||||
this.field = Object.assign({}, defaultfield);
|
||||
// this.field = Object.assign({}, defaultfield);
|
||||
this.dialogType1 = "new";
|
||||
this.dialogVisible1 = true;
|
||||
this.$nextTick(() => {
|
||||
|
|
@ -685,6 +828,7 @@ export default {
|
|||
.then(async () => {
|
||||
await deleterffield(scope.row.id);
|
||||
this.fieldLists();
|
||||
this.fieldLists1();
|
||||
this.$message.success("成功");
|
||||
})
|
||||
.catch((err) => {
|
||||
|
|
@ -733,6 +877,7 @@ export default {
|
|||
updaterffield(this.field.id, this.field).then((res) => {
|
||||
if (res.code >= 200) {
|
||||
this.fieldLists();
|
||||
this.fieldLists1();
|
||||
this.dialogVisible1 = false;
|
||||
this.$message.success("成功");
|
||||
}
|
||||
|
|
@ -740,9 +885,12 @@ export default {
|
|||
} else {
|
||||
this.field.form = this.formID;
|
||||
this.field.field_choice = this.field_choice;
|
||||
debugger;
|
||||
console.log(this.field);
|
||||
createrffield(this.field).then((res) => {
|
||||
if (res.code >= 200) {
|
||||
this.fieldLists();
|
||||
this.fieldLists1();
|
||||
this.dialogVisible1 = false;
|
||||
this.$message.success("成功");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue