This commit is contained in:
““shijing 2021-09-10 14:27:52 +08:00
parent 2c2750bb2f
commit 0eb6481dc2
3 changed files with 114 additions and 10 deletions

View File

@ -18,6 +18,7 @@
"dependencies": { "dependencies": {
"@riophae/vue-treeselect": "^0.4.0", "@riophae/vue-treeselect": "^0.4.0",
"axios": "^0.21.1", "axios": "^0.21.1",
"compression-webpack-plugin": "^5.0.1",
"element-ui": "^2.15.5", "element-ui": "^2.15.5",
"file-saver": "^2.0.2", "file-saver": "^2.0.2",
"js-cookie": "^3.0.0", "js-cookie": "^3.0.0",

View File

@ -130,6 +130,10 @@
label="操作" label="操作"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-link
v-if="checkPermission(['material_update'])"
@click="handleLook(scope)"
>查看</el-link>
<el-link <el-link
v-if="checkPermission(['material_update'])" v-if="checkPermission(['material_update'])"
@click="handleEdit(scope)" @click="handleEdit(scope)"
@ -175,6 +179,71 @@
<el-button type="primary" @click="recordformconfirm('Forms')">确认</el-button> <el-button type="primary" @click="recordformconfirm('Forms')">确认</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
:model="tableForm"
:visible.sync="dialogVisibleForm"
:title="tableForm.name">
<el-form
label-width="80px"
label-position="right"
>
<el-row v-for="(item,$index) in fieldList.results" :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>
<el-form-item v-else-if="item.field_type==='int'" :label="item.field_name">
<el-input type="number" placeholder="请输入" v-model="item.sort"/>
</el-form-item>
<el-form-item v-else-if="item.field_type==='float'" :label="item.field_name">
<el-input type="number" placeholder="请输入" v-model="item.sort"/>
</el-form-item>
<el-form-item v-else-if="item.field_type==='date'" :label="item.field_name">
<el-date-picker
v-model="item.create_time"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
style="width:100%"
>
</el-date-picker>
</el-form-item>
<el-form-item v-else-if="item.field_type==='datetime'" :label="item.field_name">
<el-date-picker
v-model="item.create_time"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
style="width:100%"
>
</el-date-picker>
</el-form-item>
<el-form-item v-else-if="item.field_type==='select'" :label="item.field_name">
<el-select style="width: 100%" v-model="item.sort" placeholder="请选择">
<el-option
v-for="item1 in item.field_choice"
:key="item1"
:label="item1"
:value="item1">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-else-if="item.field_type==='selects'" :label="item.field_name">
<el-select style="width: 100%" v-model="optio" multiple placeholder="请选择">
<el-option
v-for="item1 in item.field_choice"
:key="item1"
:label="item1"
:value="item1">
</el-option>
</el-select>
</el-form-item>
</el-row>
</el-form>
<!--<div style="text-align: right">-->
<!--<el-button type="danger">取消</el-button>-->
<!--<el-button type="primary">确认</el-button>-->
<!--</div>-->
</el-dialog>
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="18" > <el-col :span="18" >
@ -318,6 +387,7 @@
fileList:[], fileList:[],
listLoading: true, listLoading: true,
dialogVisibles: false, dialogVisibles: false,
dialogVisibleForm: false,
dialogTypes: "new", dialogTypes: "new",
field: { field: {
field_type:'', field_type:'',
@ -328,6 +398,7 @@
}, },
field_choice:[''], field_choice:[''],
options:[], options:[],
optio:[],
rule1: { rule1: {
name: [{ required: true, message: "请输入", trigger: "blur" }], name: [{ required: true, message: "请输入", trigger: "blur" }],
number: [{ required: true, message: "请输入", trigger: "blur" }], number: [{ required: true, message: "请输入", trigger: "blur" }],
@ -337,6 +408,9 @@
dialogVisible:false, dialogVisible:false,
dialogType1: "new", dialogType1: "new",
dialogVisible1:false, dialogVisible1:false,
tableForm:{
name:'',
},
listQueryrecordform: { listQueryrecordform: {
page: 1, page: 1,
page_size: 20, page_size: 20,
@ -353,19 +427,24 @@
}, },
options_: { options_: {
'string':'文本', 'string':'文本',
'number':'数字', 'int':'整数',
'float':'小数',
'date': '日期', 'date': '日期',
'datetime': '日期时间', 'datetime': '日期时间',
'radio': '单选', 'select': '单选',
'checkbox': '多选', 'selects': '多选',
}, },
fieldtypeoptions: [{ fieldtypeoptions: [{
value: 'string', value: 'string',
label: '文本' label: '文本'
}, },
{ {
value: 'number', value: 'int',
label: '数字' label: '整数'
},
{
value: 'float',
label: '小数'
}, },
{ {
value: 'date', value: 'date',
@ -380,11 +459,11 @@
label: '日期时间' label: '日期时间'
}, },
{ {
value: 'radio', value: 'select',
label: '单选' label: '单选'
}, },
{ {
value: 'checkbox', value: 'selects',
label: '多选' label: '多选'
} }
], ],
@ -403,14 +482,22 @@
}, },
methods: { methods: {
//添加 //添加字段选项
addDomain() { addDomain() {
this.field_choice.push('') this.field_choice.push('')
}, },
//删除 //删除字段选项
removeDomain(index){ removeDomain(index){
this.field_choice.splice(index, 1) this.field_choice.splice(index, 1)
}, },
handleLook(scope){
debugger;
console.log(scope);
this.dialogVisibleForm = true;
this.tableForm = Object.assign({}, scope.row); // copy obj
this.formID=this.tableForm.id;
this.fieldLists();
},
checkPermission, checkPermission,
//子工序列表 //子工序列表
getList() { getList() {
@ -547,6 +634,8 @@
getrffieldList(this.listQueryfield).then((response) => { getrffieldList(this.listQueryfield).then((response) => {
if (response.data) { if (response.data) {
this.fieldList = response.data; this.fieldList = response.data;
debugger;
console.log(this.fieldList)
} }
}); });
@ -560,6 +649,8 @@
}); });
}, },
handlefieldCreate() { handlefieldCreate() {
this.field_choice = [''];
this.field = Object.assign({}, defaultfield); this.field = Object.assign({}, defaultfield);
this.dialogType1 = "new"; this.dialogType1 = "new";
this.dialogVisible1 = true; this.dialogVisible1 = true;

View File

@ -1,6 +1,7 @@
'use strict' 'use strict'
const path = require('path') const path = require('path')
const defaultSettings = require('./src/settings.js') const defaultSettings = require('./src/settings.js')
const CompressionWebpackPlugin = require('compression-webpack-plugin');
function resolve(dir) { function resolve(dir) {
return path.join(__dirname, dir) return path.join(__dirname, dir)
@ -38,7 +39,7 @@ module.exports = {
}, },
before: require('./mock/mock-server.js') before: require('./mock/mock-server.js')
}, },
configureWebpack: { /* configureWebpack: {
// provide the app's title in webpack's name field, so that // provide the app's title in webpack's name field, so that
// it can be accessed in index.html to inject the correct title. // it can be accessed in index.html to inject the correct title.
name: name, name: name,
@ -47,6 +48,17 @@ module.exports = {
'@': resolve('src') '@': resolve('src')
} }
} }
},*/
configureWebpack:()=>{
if(process.env.NODE_ENV==='production'){
return{
plugins:[new CompressionWebpackPlugin({
test:/\.js$|\.html$|\.css/,//匹配文件名
threshold:10240,//对超过10k的数据进行压缩
deleteOriginalAssets: false,//是否删除源文件
})]
}
}
}, },
chainWebpack(config) { chainWebpack(config) {
config.plugins.delete('preload') // TODO: need test config.plugins.delete('preload') // TODO: need test