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": {
"@riophae/vue-treeselect": "^0.4.0",
"axios": "^0.21.1",
"compression-webpack-plugin": "^5.0.1",
"element-ui": "^2.15.5",
"file-saver": "^2.0.2",
"js-cookie": "^3.0.0",

View File

@ -130,6 +130,10 @@
label="操作"
>
<template slot-scope="scope">
<el-link
v-if="checkPermission(['material_update'])"
@click="handleLook(scope)"
>查看</el-link>
<el-link
v-if="checkPermission(['material_update'])"
@click="handleEdit(scope)"
@ -175,6 +179,71 @@
<el-button type="primary" @click="recordformconfirm('Forms')">确认</el-button>
</div>
</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-col>
<el-col :span="18" >
@ -318,6 +387,7 @@
fileList:[],
listLoading: true,
dialogVisibles: false,
dialogVisibleForm: false,
dialogTypes: "new",
field: {
field_type:'',
@ -328,6 +398,7 @@
},
field_choice:[''],
options:[],
optio:[],
rule1: {
name: [{ required: true, message: "请输入", trigger: "blur" }],
number: [{ required: true, message: "请输入", trigger: "blur" }],
@ -337,6 +408,9 @@
dialogVisible:false,
dialogType1: "new",
dialogVisible1:false,
tableForm:{
name:'',
},
listQueryrecordform: {
page: 1,
page_size: 20,
@ -353,19 +427,24 @@
},
options_: {
'string':'文本',
'number':'数字',
'int':'整数',
'float':'小数',
'date': '日期',
'datetime': '日期时间',
'radio': '单选',
'checkbox': '多选',
'select': '单选',
'selects': '多选',
},
fieldtypeoptions: [{
value: 'string',
label: '文本'
},
{
value: 'number',
label: '数字'
value: 'int',
label: '整数'
},
{
value: 'float',
label: '小数'
},
{
value: 'date',
@ -380,11 +459,11 @@
label: '日期时间'
},
{
value: 'radio',
value: 'select',
label: '单选'
},
{
value: 'checkbox',
value: 'selects',
label: '多选'
}
],
@ -403,14 +482,22 @@
},
methods: {
//添加
//添加字段选项
addDomain() {
this.field_choice.push('')
},
//删除
//删除字段选项
removeDomain(index){
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,
//子工序列表
getList() {
@ -547,6 +634,8 @@
getrffieldList(this.listQueryfield).then((response) => {
if (response.data) {
this.fieldList = response.data;
debugger;
console.log(this.fieldList)
}
});
@ -560,6 +649,8 @@
});
},
handlefieldCreate() {
this.field_choice = [''];
this.field = Object.assign({}, defaultfield);
this.dialogType1 = "new";
this.dialogVisible1 = true;

View File

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