文件

243 行
11 KiB
HTML
可执行文件

<!--[1.5.70]-->
<style>
* {
margin: 0;
padding: 0;
}
[v-cloak] {
display: none;
}
.el-input-first{
width:400px;
}
.el-input-first>input{
width:400px;
}
</style>
<div id="add" v-cloak>
<el-form label-width="80px" :model="form" :rules="rules" ref="form" id="formSet">
<input type="hidden" id="id" value="{$id}" name="id">
<div style="display: flex;">
<el-form-item label="仓库名称" prop="name">
<el-input v-model="form.name" name="name" class="el-input-first"></el-input>
</el-form-item>
<el-form-item>
<el-checkbox v-model="form.state" label="默认仓库"></el-checkbox>
</el-form-item>
</div>
<el-form-item label="仓库编号" prop="number">
<el-input v-model="form.number" placeholder="英文开头建议填写英文加数字(如CK_2501)" name="number" class="el-input-first"></el-input>
</el-form-item>
<el-form-item label="地址" required>
<el-select name="province" v-model="form.selProvince" size="small" placeholder="省" filterable
@change="selectProvince(1)">
<el-option
v-for="item in form.province"
:key="item.cityid"
:label="item.city_name"
:value="item.cityid">
</el-option>
</el-select>
<el-select name="city" v-model="form.selCity" size="small" placeholder="市" filterable
@change="selectProvince(2)">
<el-option
v-for="item in form.city"
:key="item.cityid"
:label="item.city_name"
:value="item.cityid">
</el-option>
</el-select>
<el-select name="area" v-model="form.selRegion" size="small" placeholder="区" filterable>
<el-option
v-for="item in form.area"
:key="item.cityid"
:label="item.city_name"
:value="item.cityid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="详细地址" prop="address">
<el-input v-model="form.address" name="address" class="el-input-first"></el-input>
</el-form-item>
<el-form-item label="仓库面积" prop="measure_area">
<el-input v-model="form.measure_area" name="measure_area" class="el-input-first" placeholder="㎡"></el-input>
</el-form-item>
<el-form-item label="负责人" prop="person_name">
<el-input v-model="form.person_name" name="person_name" class="el-input-first"></el-input>
</el-form-item>
<el-form-item label="手机号" prop="person_phone">
<el-input v-model="form.person_phone" name="person_phone" class="el-input-first"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="form.remarks" name="remarks"></el-input>
</el-form-item>
<el-form-item>
<if condition="$authArr['onSubmit'] eq true">
<el-button type="primary" @click="onSubmit('form')">立即创建</el-button>
</if>
</el-form-item>
</el-form>
</div>
<script>
var add = new Vue({
el: '#add',
data:function(){
return{
form:{
name:"{$data['name']}",
number:"{$data['number']}",
address:"{$data['address']}",
measure_area:"{$data['measure_area']}",
person_name:"{$data['person_name']}",
person_phone:"{$data['person_phone']}",
remarks:"{$data['remarks']}",
selProvince:"{$data['province']}",
selCity:"{$data['city']}",
selRegion:"{$data['area']}",
province: {$prov},
city: {$city},
area:{$area},
state:"{$data['default_state']}" == 1?true:false,
},
rules:{
name:[{message: '请输入仓库名称', required: true, trigger: 'change'}],
number:[{message:'请输入正确的编号',required:true,trigger: 'change'},{
validator: function (rule, value, callback) {
var reg = /^([a-zA-z_]{1})([\w]*)$/;
if (!reg.test(value)) {
callback(new Error("请输入正确的编号"));
} else {
callback();
}
}, trigger: 'change'
}],
address:[{message:'请输入仓库地址',required:true, trigger: 'change'}],
measure_area:[{message:'请输入正确的仓库面积',required:true,trigger: 'change'},{
validator: function (rule, value, callback) {
var reg = /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/;//面积m2
if (!reg.test(value)) {
callback(new Error("请输入正确的仓库面积"));
} else {
callback();
}
}, trigger: 'change'
}],
person_name:[{message:'请输入负责人名称',required:true,trigger: 'change'}],
person_phone:[{message:'请输入正确的手机号',required:true,trigger:'change'},{
validator: function (rule, value, callback) {
var reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;//手机号;
if (!reg.test(value)) {
callback(new Error("请输入正确的手机号"));
} else {
callback();
}
}, trigger: 'change'
}],
}
}
},
methods:{
selectProvince: function (type) {
var that = this;
$.post("{:U('getCity')}", {
pid: type == 1 ? this.form.selProvince : this.form.selCity
}, function (res) {
if (res.status == 1) {
if (type == 1) {
that.form.selCity = '';
that.form.selRegion = '';
that.form.city = res.data;
that.form.area = [];
} else {
that.form.area = res.data;
that.form.selRegion = '';
}
} else {
that.$message({
type: 'error',
massage: res.msg,
duration: 1000
})
}
})
},
onSubmit:function(formName){
var that = this;
that.$refs[formName].validate((valid) => {
if(valid){
if(!that.form.selProvince){
that.$message({
type:"error",
message:"请完善仓库地址",
duration:1000
})
return;
}
if(!that.form.selCity){
that.$message({
type:"error",
message:"请完善仓库地址",
duration:1000
})
return;
}
if(!that.form.selRegion){
that.$message({
type:"error",
message:"请完善仓库地址",
duration:1000
})
return;
}
var formData = new FormData(document.getElementById('formSet'));
if(that.form.state){
that.form.default_state = 1;
}else{
that.form.default_state = 0;
}
var default_state = JSON.parse(JSON.stringify(that.form.default_state));
formData.append('default_state',JSON.stringify(default_state));
$.ajax({
url:"{:U('addWarehouseOperation')}",
type:"post",
data:formData,
cache: false,
contentType: false,
processData: false,
dataType: "json",
success:function(res){
if(res.status == 1){
that.$message({
type:"success",
message:res.message,
duration:1000,
onClose:function(){
warehouse.closeChild();
warehouse.getData();
}
})
}else{
that.$message({
type:"error",
message:res.message,
duration:1000
})
}
}
})
}else{
that.$message({
type:'error',
message:"请完善必填项",
duration:1500
})
}
})
}
},
created:function(){
}
});
</script>